条件测试有两种方式,可以使用test 命令,或者 [ ] 操作符
1. 字符串测试
对于字符串测试,针对test,[ ],有不同的格式
(1) test "Str" #测试字符串是否为空
(2) test op "Str1" #测试字符串是否满足op操作符,通常是空或不空
(3) test "Str1" op "Str2" #判断两个字符串是否具备 op 指定的关系
(4) [ op "Str1" ] #等价于 test op "Str1"
(5) [ "Str1" op "Str2" ] #等价于 test "Str1" op "Str2"
op 可以是:
= : 二元操作符, 字符串相等
!= : 二元操作符, 字符串不等
-z : 一元操作符, 字符串为空
-n : 一元操作符, 字符串不空
2. 数值测试
格式: [ "Num1" op "Num2" ]
数值操作数要么是放在变量中,要么必须放在引号中
op 可以是:
-eq : 相等
-ne : 不相等
-gt : 大于
-lt : 小于
-ge : 大于等于
-le : 小于等于
3. 文件状态测试
两种格式, test condition, [ condition ]
文件状态包括:
-d : 目录文件
-f : 常规文件
-L : 符号链接文件
-r : 可读
-w : 可写
-x : 可执行
-s : 文件非空,长度大于0
-u : 文件suid位设置
4. 复合条件测试
复合条件是由前面所述的条件使用逻辑操作符连接构成的条件测试,能使用的逻辑操作符包括:
-a : and
-o : or
! : no
阅读(2238) | 评论(0) | 转发(0) |