一、算术操作
+ - * / %
二、关系操作
>= <= == != && ||
三、测试操作
测试命令 : 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
四、结论
比较数字,使用(( ))
其他测试使用 [[ ]]
包含数字比较的混合测试,使用标准语法