预定义变量:
$? :查看上一执行命令返回值,若返回0则代表执行成功,若返回非0,则执行失败,值的范围:0~255
$#:脚本后带的参数数量,如:
[root@localhost shell]# cat test.sh
echo $# #输出执行脚本时,后面带了几个参数
[root@localhost shell]# ./test.sh 99 88 77
3 #脚本后面带了3个参数
$?返回值参考
0 表示执行成功
2 表示权限拒绝
1~125 表示运行失败,脚本命令、系统命令错误或参数传递错误
126 找到该命令,但是无法执行
127 未找到要执行的命令
>128 命令被系统强制结束
$$ :查看当前脚本的PID
$n :获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0时表示脚本的文件名,如果n大于9,用大括号括起来,例如:第10个参数,${10}
$# :获取当前shell命令行中的总个数
$* :获取当前脚本中所有参数值,输出为一整个字符串
$@:获取当前脚本中所有参数值,输出为每一个参数值分开
$ n :n为正整数,从0开始,表示脚本中第几个参数,$0代表脚本本身,$1 代表脚本后第一个参数,例如:
[root@localhost shell]# cat test.sh
echo $0 #输出脚本名称
echo $1 #脚本后第一个参数
echo $2 #脚本后第二个参数
[root@localhost shell]# ./test.sh 9 8 7 67
./test.sh
9
8
判断值:
-d:判断是否为目录
-f:判断是否为文件
-e:判断文件或目录是否存在
-L:判断文件是否为连接
-x:判断文件是否有可执行权限
-w:判断文件是否有写权限
-r:判断文件是否有读权限
整数值对比:
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-ge:大于等于
-le:小于等于
字符串对比:
= :匹配
!= :不匹配
-z :检查字符串是否为空
逻辑判断:
-a:逻辑与(and)
-o:逻辑或(or)
!:逻辑非
&& :逻辑与
|| :逻辑或
通配符:
* :任意单个字符
?:任意单个字符
[]:任意单个字符
| :代表或
本文摘自 :https://blog.51cto.com/u