shell脚本中$的多种用法($* 、 $@ 、$_ 、$# 、$$ 、$! 、 $? )和 -eq,-ne,-gt,-lt,-ge,-le数字比较符
shell脚本中$的多种用法($* 、 $@ 、$_ 、$# 、$$ 、$! 、 $? )和 -eq,-ne,-gt,-lt,-ge,-le数字比较符
1、在shell中进行比较时,结果为0代表真,为1代表假。
2、-eq,-ne等比较符只能用于数字比较,有字符也会先转换成数字然后进行比较。
-eq //equals等于
-ne //no equals不等于
-gt //greater than 大于
-lt //less than小于
-ge //greater equals大于等于
-le //less equals小于等于
3、$0等
变量名含义
$0脚本本身的名字
$1脚本后所输入的第一串字符
$2传递给该shell脚本的第二个参数
$*脚本后所输入的所有字符"westos linux lyq"
$@脚本后所输入的所有字符’westos’ 'linux’ 'lyq’
$_表示上一个命令的最后一个参数
$##脚本后所输入的字符串个数
$$脚本运行的当前进程ID号
$!表示最后执行的后台命令的PID
$?显示最后命令的退出状态,0表示没有错误,其他表示由错误
4、测试结果
5、结果解释
[root@xixi mnt]# test.sh westos linux lyq
$0 is /mnt/test.sh ##脚本本身
$1 is westos ##脚本后所输入的第一串字符
$2 is linux
$3 is redhat
$* is westos linux lyq ##脚本后所输入的所有字符"westos linux lyq"
$@ is westos linux lyq ##脚本后所输入的所有字符'westos' 'linux' 'lyq'
$# is 3 ##脚本后所输入的字符串个数
其中 *="1 2 3" @='1' '2' '3'
赞 (0)