预定义变量:

$?  :查看上一执行命令返回值,若返回0则代表执行成功,若返回非0,则执行失败,值的范围:0~255

$#:脚本后带的参数数量,如:

[root@localhost shell]# cat test.sh 
#!/bin/bash
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 
#!/bin/bash
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)

!:逻辑非

 

&& :逻辑与    

|| :逻辑或

 

通配符:

* :任意单个字符

?:任意单个字符

[]:任意单个字符

| :代表或