一、算术操作
+ - * / %
二、关系操作
< > >= <= == != && ||
三、测试操作
测试命令 : test [ ] [[ ]] (( ))
1、测试文件状态
-d 目录 -b 块设备 -s 文件长度 > 0、非空 -f 正规文件 -w 可写 -L 符号连接 -u 文件有 suid 位设置 -r 可读 -x 可执行 如: [ -w tmp.txt ] 测试文件tmp.txt是否可写
2、字符串测试
= 两个字符串相等 != 两个字符串不相等 -z 空串 -n 非空串 $ VAR1='abc' $ VAR2='123' $ [ "$VAR1" = "$VAR2" ] $ echo $? 1
3、测试数值
-eq 等于 -ne 不等于 -gt 大于 -lt 小于 -ge 大于等于 -le 小于等于
4. 拓展测试符号 [[ ]] (( ))
# [[ 2 > 10 ]] # 结果错误 # echo $? 0 # (( 2 >10 )) 结果正确 # echo $? 0 # [[ "aa" = "aa" ]] # echo $? 0 # (( "aa" = "aa" )) #结果错误 # echo $? 1
四、结论
比较数字,使用(( ))
其他测试使用 [[ ]]
包含数字比较的混合测试,使用标准语法