一、测试文件状态
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
此处评论已关闭