语法
[ 判断表达式 ]
文件夹或路径是否存在
- -e 目标是否存在(exist)
- -d 是否为路径(directory)
- -f 是否为文件(file)
[ -e text.sh ] || touch text.sh #text.sh不存在就创建
权限是否存在
- -r 是否有读取权限(read)
- -w 是否有写入权限(write)
- -x 是否有执行权限(excute)
[ -x text.txt ] && echo '有执行权限' #判断是否有执行权限
整数比较大小(只能用于整数比较)
-
-
-ne 不等于(not equal)
-
-gt 大于(greater than)
-
-lt 小于(lesser than)
-
-ge 大于或者等于(greater or equal)
-
-le 小于或者等于(lesser or equal)
[ 9 -gt 8 ] && echo '大于'
浮点型比较大小(借助bc)
- bc中大小比较,true:1 false:0
`echo '1.2 < 1.3' | bc` #利用bc比较大小 [ `echo '1.2 < 1.3' | bc` -eq 1 ] #然后和1比较。即可得出结果
字符串比较
-
-
== 相等 等同于= 只是在[[]]和在[]中表现不同
-
!= 不相等
[ 'kkkkk' != 'kkkk' ] && echo '不等于'
多条件判断
#[[]]只能配合&&或||使用 [[ "a" = "a" && "b" = "b" ]] #[]里面只能配合-a或-o使用,外面才能配合&&或||使用 [ "a" = "a" -a "b" = "b" ] [ "a" = "a" -o "b" = "b" ] [ "a" = "a"] && [ "b" = "b" ]