Linux Shell编程之变量相关
变量
shell编程中有系统变量和用户自定义的变量
系统变量:
$HOME、$PWD、$SHELL、$USER等 可用set命令查看系统所有变量
用户自定义变量:
定义方法 : 变量名=变量值 AGE=21 注意等号=前后不要有空格
撤销变量 使用 unset 变量名
定义静态变量:readonly 变量,注意 静态不能unset
定义变量的规则
1变量名称由字母、数字和下划线组成,但是不能以数字开头。
2 等号两侧不能有空格
3 变量名称一般习惯为大写
将命令的返回值赋给变量
1)A=`lDATE` 反引号,运行里面的命令,并把结果返回给变量A
2)A=$(DATE) 等价于A=`lDATE`
环境变量
使用export 指令配置变量,使其成为环境变量,使其他的shell脚本也可以使用这个变量。
使用source ./myShell.sh 使其立即生效
位置参数变量
$n (功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十以上的参 数需要用大括号包含,如${10})
$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
[email protected](功能描述:这个变量也代表命令行中所有的参数,不过[email protected]把每个参数区分对待)
$#(功能描述:这个变量代表命令行中所有参数的个数)
预定义变量
$$ (功能描述:当前进程的进程号(PID))
$! (功能描述:后台运行的最后一个进程的进程号(PID))
$? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正 确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正 确了。)