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 版权协议,转载请附上原文出处链接和本声明。