shell变量
1、变量分类
系统变量: $HOME、$PATH、$PWD等。
自定义变量:用户定义的变量
2、变量定义的语法
定义:变量名=值(不能有空格)
撤销:unset 变量名
静态变量:readonly 变量名=值(不能unset)
3、命名规则
1)字母、数字、下划线,不以数组开头
2)等号两边不能有空格
3)变量一般大写
4、变量赋值Linux指令
1)变量名=`指令`(` `为反引号)
2)变量名=$(指令)
5、环境变量设置
1)export 变量名=值(设置环境变量)
2)source 配置文件 (配置文件生效)
3)echo $变量名 (打印配置变量)
6、位置参数变量
对终端命令行中的参数处理,类似java中的方法调用。
$n: n为数字,0指命令自身,1~n为参数位置,10以上${n}
$*: 所有的参数显示、每个参数当成整体
$@: 所有的参数显示、每个参数当成个体
$#: 显示一共多少个参数
7、预定义变量
事先定义好的变量
$$:当前进程的id
$!:后台的最后一个进程id
$?:最后一次执行的命令返回状态,0为正确执行。
mytest.sh中:
mytest02.sh中:
8、变量运算符
1)表达式:变量= $[数字或者参数运算+、-、*、/等]
2)expr表达式:变量=`expr 表达式`
(运算符前后必须有空格、乘法\*)