shell中使用判断有 文件类型的判断,字符串类型的判断,整数类型的判断,逻辑类型的判断。
文件类型的判断

| 测试操作符 | 英文 | 说明 |
|---|---|---|
| -d | directoryo | 文件存在且为目录为真 |
| -f | file | 文件存在且为普通文件为真 |
| -e | exist | 文件存在为真(无论它是文件还是目录) |
| -r | read | 文件存在且当前用户可读(root可能特殊) |
| -w | writeo | 文件存在且当前用户可写(root可能特殊) |
| -X | executableo | 文件存在且当前用户可执行(root可能特殊) |
| -S | size | 文件存在且文件不为0为真 |
| -L | linxe | 文件存在且为链接为真 |
| f1 -nt f2 | newer thane | 文件f1比f新则为真,根据文件的修改时间 |
| f1-ot f2 | older thano | 文件f1比f旧则为真,根据文件的修改时间 |
字符串的判断

| 字符操作符 | 说明 |
|---|---|
| -n "字符串" | 若字符串的长度不为0,则为真 |
| -z"字符串" | 若字符串的长度为0,则为真 |
| "字符串1" "字符串2" | 若字符串1等于字符串2,则为真 (两个等号) |
| "字符串1" = "字符串2" | 若字符串1不等于字符串⒉则为真 |
整数的比较操作符

| 在[]以及test中使用的比较符号 | 在(())和[[]]中使用的比较符号 | 说明 |
|---|---|---|
| -eq | 相等 | |
| -ne | != | 不等 |
| -gt | > | 大于 |
| -ge | >= | 大于等于 |
| -lto | < | 小于 |
| -le | <= | 小于等于 |
逻辑操作符

测试表达式test、[]、[[]]、(())的区别

https://www.cnblogs.com/ExzaiTin/p/7994143.html