[ ] - 条件判断
2022/1/9大约 1 分钟语言特性
[ ] - 条件判断
通过:
[ 语句 ]
echo $?
能判断出结果为真或为假,为真返回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 | 字符串非空 |
- 复杂逻辑判断
连接符 | 作用 |
---|---|
-a | 与 |
-o | 或 |
! | 非 |