1、条件测试的基本语法
语法:
a)、test expression
参数expression是要进行条件测试的表达式,可以由字符串、整数、文件名组成。
b)、[ expression ]
条件表达式expression和左右方括号之间必须有空格。
“[”方括号是一个shell命令,所有,在shell命令和表达式之间,必须有空格。
2、字符串测试
| 运算符 | 说明 |
| string | 判断string是否是非空 |
| -n string | 判断string是否是非空 |
| -z string | 判断string是否是空串 |
| string1 = string2 | 判断string1和string2是否相等 |
| string1 != string2 | 判断string1和string2是否不相等 |
a="abc"
b="def"
test "$a" = "$b" #等号左右必须得有空格
[ "$a" = "$b" ] #方括号后面,等号左右必须有空格。
#注意,等号左右和方括号前后,都要有空格。
3、整数测试
语法:
test num1 op num2
[ num1 op num2 ]
常见整数运算符:
| 运算符 | 说明 |
| num1 -eq num2 | 等于 |
| num1 -ne num2 | 不等于 |
| num1 -gt num2 | 大于 |
| num1 -ge num2 | 大于或等于 |
| num1 -lt num2 | 小于 |
| num1 -le num2 | 小于或等于 |
注意:整数的比较的运算符是:eq、ne等
4、文件测试
语法:
test op file
[ op file ]
常见文件操作符:
| 运算符 | 说明 |
| -a file | file是存在 |
| -b file | file是存在,且为块文件 |
| -c file | file是存在,且为字符文件 |
| -d file | file是存在,切为目录 |
| -e file | file是存在,同-a |
| -f file | file存在,且为常规文件 |
| -s file | file是否为非空文件 |
| -L file | file是否为符号链接 |
| -r file | file是否可读 |
| -w file | file是否可写 |
| -x file | file是否可执行 |
5、逻辑测试符
与、或、非:
与:expression1 -a expression2
或:expression1 -o expression2
非:!expression
版权声明:本文为wangsr4java原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。