目录

1.PATH变量

2.PS1变量

3.LANG语系变量

4.位置参数变量

5.预定义变量

1.PATH变量

[root@localhost lib]# echo $PATH

/usr/lib64/qt3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

系统查找命令的路径 ,PATH变量的值是用:分割的路径,这些路径就是系统查找命令的路径。就是说当我们输入了一个命令后,如果没写路径,系统就会 到PATH变量定义的路径中去寻找是否有可执行的程序。如果没有写入路径,则会返回“命令没有发现”的错误。那么也就就是说我们把自己的脚本拷贝到PATH变量定义的路径中,我们自己定义脚本也可以不输入路径而直接运行

2.PS1变量

命令提示符设置

格式PS1='[\u@\@ \h \# \W]\$ ' 输出[root@22:52:21 /usr/local/src]#

PS1变量是用来定义命令行提示符的,看可以按照我们自己的需求来定义自己喜欢的提示符。PS1支持的选项有:

\d:显示日期,格式为“星期 月 日”

\H:显示完整的主机名。如默认主机名:localhost.localdomain

\h:显示简写主机名。默认为:localhost

\T:显示12小时制时间,格式为HH:MM:SS

\t:显示24小时制时间,格式为HH:MM:SS

\A:显示24小时制时间,格式为HH:MM

\@:显示12小时制时间,格式为HH:MM am/pm

\u:显示当前用户名

\v:显示Bash的版本信息

\W:显示当前所在目录的最后一个目录

\w:显示当前所在目录的完整路径

\#:执行的第几个命令

\$:提示符。如果是root会显示提示符为“#”如果是普通用户会显示提示符为“$”

3.LANG语系变量 

LANG变量定义了Linux系统的主语系环境,这个变量的默认值是:

[root@localhost ~]#echo $LANG

zh_CN.UTF-8

(因为我们安装Linux时,选择的是中文安装。所以,默认的主语系变量是“zh_CH.UTF-8”)Linux系统支持语系众多,我们直接统计数量为735,命令为 :

[root@localhost src]#locale -a | wc -l

查看当前所有语系:

[root@localhost ~]#locale

设置语系格式:LANG=zh_CN.UTF-8

英文:LANG=en_US.UTF-8

4.位置参数变量

位置参数变量

作用

$n

n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数要用大括号包含例 ${10}

$*

这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体。

$@

这个变量代表命令行中所有参数,不过$@把每个参数区分对待

$#

这个变量代表命令行中所有参数的个数。

[root@localhost ~]# cat canshuan3.sh

#!/bin/bash

for i in "$*"               #定义for循环,in后边有几个值,for会循环多少次。$*要用双引号括起来。

do                          #每次循环都会把in后边的值赋予变量。

echo "$i"                   #shell把$*中的所有参数看成一个整体,所以这个for循环只会循环一次。

done                        #打印$i的值。

for a in "$@"                #in后边的有几个值for就会循环几次,每次都把赋值给变量a

do                          #可是shell中把$@中的每个参数都看成是独立的,所以$@中有几个参数,就会循环几次。

echo "$a"                    #输出变量a的值。

done

echo "$#"                   $#输出了参数的个数。

5.预定义变量

预定义变量

作用

$?

最后一次执行命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行。如果这个变量的值为非0,则证明上一个命令不正确执行。

$$

当前进程的进程号(PID)

$!

后台运行的最后一个进程的进程号(PID)

09.PATH变量、PS1变量、LANG语系变量、位置参数变量、预定义变量详解相关推荐

  1. linux系统预定义变量有哪些,Shell预定义变量用法详解

    预定义变量是在 Shell 一开始时就定义的变量,这一点和默认环境变量有些类似.不同的是,预定义变量不能重新定义,用户只能根据 Shell 的定义来使用这些变量. 严格来说,位置参数变量也是预定义变量 ...

  2. PHP学习笔记1.2——预定义变量参考

    预定义变量和用户自定义变量在使用上没有区别,大多数预定义变量的执行结果都是服务器的相关信息(如:版本号.路径.错误参数等),所以我们很少将其用于网站前台开发,如果被别有用心得人知道了后,会严重威胁服务 ...

  3. Gitlab CI/CD 中预设变量 .gitlab-ci.yml 的预定义变量

    文章有更新, 更加详细和更常用的预设变量可以参考以下两篇新的文章 GitLab CI/CD关键词(五):变量 variables GitLab CI/CD中的常用预设变量 GitLab CI / CD ...

  4. bash之预定义变量

    1.2 预定义变量 echo $PWD 当前路径 echo $USER 当前用户 echo $HOME 当前用户的家目录 echo $PATH 当前的环境变量 echo ~ 当前用户的用户迷路 ech ...

  5. Shell脚本,环境变量,位置变量,预定义变量,自定义变量,单引号双引号反引号用法,一般变量和交互式变量read定义,密文输入变量信息

    Shell脚本,变量,系统预设的环境变量,位置变量,预定义变量,用户的自定义变量 一.定义变量 1.以固定的名称存放可以变化的值 2.格式为 变量名=变量值 3.取消变量的格式 unset 变量名 4 ...

  6. 预定义变量 - PHP手册笔记

    原文:预定义变量 - PHP手册笔记 预定义变量将所有的外部变量表示成内建环境变量,并且将错误信息表示成返回头.超全局变量是在全部作用域中始终可用的内置变量.在函数或方法中无需执行global $va ...

  7. shell预定义变量

    预定义变量: 就是shell设计者已经事先定义好的变量,可以直接在shell脚本中使用. 预定义变量 功能描述 $$ 当前进程的进程号(PID) $! 后台运行的最后一个进程的进程号(PID) $? ...

  8. c++ 预处理命令 预定义变量用法

    预处理命令 预定义变量用法 语法 在不同的编译器可能会有所不同, 但是一般是可用的 语法 LINE FILE DATE TIME _cplusplus STDC 在不同的编译器可能会有所不同, 但是一 ...

  9. make的自动变量和预定义变量

    make的自动变量 $@ 规则目标的文件名.如果目标是档案文件的一个成员,"$@"就是档案文件的名称 $% 当目标是档案文件的一个成员时,"$%"是该成员的名称 ...

最新文章

  1. Oracle 删除数据后释放数据文件所占磁盘空间
  2. 轻量型日志采集器 Filebeat基本使用
  3. 和Java相关的书籍,想成为架构师的请收藏一下啊
  4. Egit Patch
  5. linux的mount命令详解
  6. 《Python Cookbook 3rd》笔记(2.3):用Shell通配符匹配字符串
  7. 附录:更多集合操作命令
  8. C++:编译实验之LR分析器
  9. 支付宝ios SDK官方下载页面
  10. 想打造一款成功的移动应用?你最需要关注性能指标!
  11. 依赖注入框架Autofac的简单使用
  12. 实验一 MATLAB软件的使用
  13. 不知道这些,你的世界杯就白看了!
  14. mysql 事务不生效_@Transactional事务不生效的几种解决方案
  15. 锐起无盘4.2服务器设置,锐起无盘4.5免费版
  16. 最新版 银图/网银/MOMO模拟按键/Photoshop图像处理
  17. 移动机器人路径规划:人工势场法
  18. 使用chrome控制台下载页面图片
  19. 几种车载网络特征对比
  20. Chrome浏览器各种崩溃、卡死解决方法

热门文章

  1. 行车百科系列之(四): 交警执法宝典(内部资料)
  2. Latex中自定义日期 (显示与否、带数学符号、中英文任意)
  3. 俞敏洪老师的这段话......
  4. DotNetCore深入了解之二HttpContext类
  5. Android视频滤镜添加硬解码方案
  6. swift php json解析,Swift 4.0 | JSON数据的解析和编码
  7. 电子表整点报时怎么取消_聚划算双十一开团是什么意思?双十一聚划算开团怎么抢?...
  8. 【学术信息】2019年期刊中科院分区-环境科学与生态学
  9. 2022-2028全球与中国移动网络电话(mVOIP)市场现状及未来发展趋势
  10. 天方夜谭,躲过热力学第二定律的时间结晶“永动机”在谷歌量子计算机中实现