变量说明:
$$ //Shell本身的PID(ProcessID)
$! //Shell最后运行的后台Process的PID
$? //最后运行的命令的执行状态返回值
$- //使用Set命令设定的Flag一览
$* //所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@ //所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$# //添加到Shell的参数个数
$0 //Shell本身的文件名
$1~$n //添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
查看当前shell中的变量 set
查看当前shell中的环境变量printenv/env/export
env set (显示系统环境变量)
a=1
echo $a
变量名可以是英文数字下划线,不可以数字开头,不要使用系统的命令作为变量名,例ls=12 关键字也不要使用(if,for,do,done)
变量有空格时,需加单引号,例:b='ls /tmp/'
反引号的时候是引用引号内命令的结果,例:myvim=`which vim`
可以多个变量一起,例:a=1 c="$a"12 或 d="$myvim"$a
全局变量
输入bash,会进入一个全新的环境中,所有的新定义的shell都为空
export:如想在子shell也即bash中显示,则需要定义全局变量,全局变量格式为: export a=1
本地变量
local a=1 局部变量,作用域为当前shell进程及其子进程.
取消变量: unset 变量名
补充修改变量:
使用 : 增加
例:
[root@localhost ~]# animals=pig
[root@localhost ~]# echo $animals
pig
[root@localhost ~]# animals=$animals:goat
[root@localhost ~]# echo $animals
pig:goat
[root@localhost ~]# animals=$animals:sheep
[root@localhost ~]# echo $animals
pig:goat:sheep
转载于:https://blog.51cto.com/xiongrc/1787508