1、文件表达式
序号 | 参数 | 说明 |
1 | -e filename | 如果 filename存在,则为真 |
2 | -d filename | 如果 filename为目录,则为真 |
3 | -f filename | 如果 filename为常规文件,则为真 |
4 | -L filename | 如果 filename为符号链接,则为真 |
5 | -r filename | 如果 filename可读,则为真 |
6 | -w filename | 如果 filename可写,则为真 |
7 | -x filename | 如果 filename可执行,则为真 |
8 | -s filename | 如果文件长度不为0,则为真 |
9 | -h filename | 如果文件是软链接,则为真 |
10 | filename1 -nt filename2 | 如果 filename1比 filename2新,则为真 |
11 | filename1 -ot filename2 | 如果 filename1比 filename2旧,则为真 |
2、整数变量表达式
序号 | 参数 | 说明 |
1 | -eq | 等于 |
2 | -ne | 不等于 |
3 | -gt | 大于 |
4 | -ge | 大于等于 |
5 | -lt | 小于 |
6 | -le | 小于等于 |
3、字符串变量表达式
序号 | 参数 | 说明 |
1 | $a = $b | 如果string1等于string2,则为真 |
2 | $string1 != $string2 | 如果string1不等于string2,则为真 |
3 | -n $string | 如果string 非空(非0),返回0(true) |
4 | -z $string | 如果string 为空,则为真 |
5 | $string | 如果string 非空,返回0 (和-n类似) |
6 | ! 表达式 | 条件表达式的相反[逻辑非] |
7 | 表达式1 –a 表达式2 | 条件表达式的并列[逻辑与] |
8 | 表达式1 –o 表达式2 | 条件表达式的或[逻辑或] |
样例:
[ -z "$pid" ] 单对中括号变量必须要加双引号
[[ -z $pid ]] 双对括号,变量不用加双引号
4、特殊变量
序号 | 参数 | 说明 |
1 | $0 | 当前脚本的文件名 |
2 | $n | 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是1 |
3 | $# | 传递给脚本或函数的参数个数 |
4 | $* | 传递给脚本或函数的所有参数 |
5 | $@ | 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同 |
6 | $? | 上个命令的退出状态,或函数的返回值 |
7 | $$ | 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID |
8 | $! | Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号) |