chapter 06.shell脚本的条件测试和比较 6.1shell脚本的条件测试 6.1.1条件测试方法综述 test [] [[]] (()) 6.1.2test条件测试的语法和示例 [root@bogon ~]# test -f n.sh && echo "0" || echo "1" ###0 [root@bogon ~]# test -z "hello" && echo "0" || echo "not 0" ##not 0 6.1.3[]条件测试语法及其示例 [root@bogon ~]# [ -f /tmp/tmp.log ] && echo "1" || echo "0" 6.1.4[[]]条件测试语法及其示例 [[]]与test []的不同 1)使用通配符进行模式匹配 2)&& || > <等操作符可以用于[[]],不能用于[] test 3)[] test用 -a -o -gt -lt代替2)中的对应字符 6.2文件测试表达式 6.2.1 测试表达式 -d 文件存在且为目录则为真 -f 文件存在且是普通文件 -e 文件存在 -r 文件存在且可读 -s 文件存在且不为0 -w 文件存在且可写 -x 文件存在且可执行 -L 文件存在且链接文件为真 -nt new than -ot old than 6.2.2 测试例子 6.3字符串测试表达式 6.3.1 字符串测试操作符 -n “string” 长度不为0,则为真 -z “string” 长度为0,则为真 “string1” = “string2” 判断是否相等 ==也可以,=两端要带空格 “string1” != “string2” 判断不等 6.4二元比较操作符 6.4.1 整数二院比较操作符 []中使用的 -eq -ne -gt -ge -lt -le 6.5逻辑操作符 6.5.1 -a -o !