通过:
能判断出结果为真或为假,为真返回0
语句 | 作用 |
---|
-b | 判断文件是否存在并且是否为块设备文件(是为真) |
-c | 判断文件是否存在并且是否为字符设备文件(是为真) |
-d | 判断文件是否存在并且是否为目录文件(是为真) |
-e | 判断文件是否存在(是为真) |
-f | 判断文件是否存在并且是否为普通文件(是为真) |
-h | 符号链接 |
-L | 符号链接 |
-S | socket 文件 |
-N | 从这个文件最后一次被读取之后, 它被修改过 |
-O | 这个文件的宿主是你 |
-G | 文件的组id与你所属的组相同 |
-s | 文件大小不为0 |
-r | 文件具有读权限 |
-w | 文件具有写权限 |
-x | 文件具有执行权限 |
-g | 设置了sgid标记 |
-u | 设置了suid标记 |
-k | 设置了"粘贴位" |
操作符 | 作用 |
---|
-nt | 前者修改时间比后者新 |
-ot | 前者修改时间比后者旧 |
-ef | 判断文件的INODE号一致 |
操作符 | 作用 |
---|
-eq | 是否等于 |
-ne | 是否不等于 |
-gt | 是否大于 |
-lt | 是否小于 |
-le | 是否等于或小于 |
-ge | 是否大于或等于 |
操作符 | 作用 |
---|
== | 比较字符串内容是否相同 |
!= | 比较字符串内容是否不同 |
-z | 判断字符串内容是否为空 |
-n | 字符串非空 |
if [[ 2 -ge 1 && 3 -ge 2 ]]; then
echo "所有条件同时成立"
eles
echo "至少有一个条件不成立"
fi
if [[ 2 -ge 1 || 3 -ge 2 ]]; then
echo "至少有一个条件成立"
else
echo "所有条件都不成立"
fi