shell-条件判断
语法
test 条件
可以使用
$?
查看判断结果,0为true,1为false
[ 条件 ] 注意:条件前后有空格
条件非空即为true,[xxx]返回true,[ ]返回false
并且注意条件判断符号左右一点要空格,否则就是一个字符串了
常用判断条件
两个整数之间比较
判断条件 | 说明 |
---|---|
-eq | 等于(equal) |
-ne | 不等于(not equal) |
-lt | 小于(less than) |
-le | 小于等于(less equal) |
-gt | 大于(greater then) |
-ge | 大于等于(greater equal) |
两个字符串之间比较
判断条件 | 说明 |
---|---|
= | 相等 |
!= | 不相等 |
按照文件权限进行判断
判断条件 | 说明 |
---|---|
-r | 有读的权限(read) |
-w | 有写的权限(write) |
-x | 有执行的权限(execute) |
按照文件类型进行判断
条件判断 | 说明 |
---|---|
-e | 文件存在(existence) |
-f | 文件存在并且是一个常规的文件(file) |
-d | 文件存在并且是一个目录(directory) |
多条件判断
- &&:前一条命令执行成功时,才执行后一条命令(逻辑与)
- ||:表示上一条命令执行失败后,才执行下一条命令(逻辑或)
可以实现类似与三元运算符的效果:
[ 1 -eq 1 ] && echo ok || echo no