通过:
能判断出结果为真或为假,为真返回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