一、测试文件状态

shell中的测试,如果成功返回0,否则返回1。

操作符描述
-e FILE测试文件是否存在
-f FILE文件存在且是一个常规的文件为真
-d FILE文件存在且是一个目录为真
-[r,w,x] FILE文件是否可读、可写或者可执行

二、字符串比较

操作符描述
-z STR字符串为空返回真
-n STR字符串不为空返回真
STR1 = STR2字符串相等返回真
STR1 != STR2字符串不相等返回真
STR1 [<,>] STR2字符串STR1小于或者大于STR2返回真,按字典序比较

使用[]判断时,><符号需要加下划线:

> [ "abcde" \> "abcd" ] && echo "yes"
yes

使用[[]]判断时,><符号不需要加下划线:

> [[ "abcde" > "abcd" ]] && echo yes
yes

三、整数比较

操作符描述
INT2 -eq INT2两个整数相等返回真
INT1 -ne INT2两个整数不相等返回真
INT1 -[gt,ge,lt,le] INT2整数大于、大于等于、小于以及小于等于判断

四、注意事项

><符号只能用于字符串比较,不能用于整数比较。对整数使用大于小于符号比较的时候,会被当成字符串:

> [[ 53 -gt 153 ]] && echo yes
> [[ 53 > 153 ]] && echo yes
yes
最后修改:2019 年 05 月 06 日
如果觉得我的文章对你有用,请随意赞赏