一、判斷格式
test -e /root/install.log
或
[ -e /root/install.log ]
使用echo $?查看是否正確,當返回0時表示返回正確
1 按照文件類型進行判斷
| 測試選項 | 作用 |
| -b 文件 | 判斷文件是否為塊設備文件並且存在 |
| -c 文件 | 判斷文件是否為字符設備文件並且存在 |
| -d 文件 | 判斷文件是否為目錄類型並且存在 |
| -e 文件 | 判斷文件是否為文件類型並且存在 |
| -f 文件 | 判斷文件是否為普通文件並且存在 |
| -L 文件 | 判斷文件是否為符號鏈接文件並且存在 |
| -p 文件 | 判斷文件是否為管道文件並且存在 |
| -s 文件 | 判斷文件是否非空 |
| -S 文件 | 判斷文件是否為套接字文件並且存在 |
例:
[ -d /root] && echo "yes" || echo "no"
2 按照文件權限進行判斷
| 測試選項 | 作用 |
| -r 文件 | 判斷文件是否有讀權限 |
| -w 文件 | 判斷文件是否有寫權限 |
| -x 文件 | 判斷文件是否有執行權限 |
| -u 文件 | 判斷文件是否有SUID權限 |
| -g 文件 | 判斷文件是否有SGID權限 |
| -k 文件 | 判斷文件是否有SBit權限 |
3 兩個文件之間判斷
| 測試選項 | 作用 |
| 文件1 -nt 文件2 | 判斷文件1的修改時間是否比文件2的新 |
| 文件1 -ot 文件2 | 判斷文件1的修改時間是否比文件2的舊 |
| 文件1 -ef 文件2 | 判斷文件1是否和文件2的Inode號一致 |
4 兩個整數之間比較
| 測試選項 | 作用 |
| 整數1 -eq 整數2 | 判斷 = |
| 整數1 -ne 整數2 | 判斷 != |
| 整數1 -gt 整數2 | 判斷 > |
| 整數1 -lt 整數2 | 判斷 < |
| 整數1 -ge 整數2 | 判斷 >= |
| 整數1 -le 整數2 | 判斷 <= |
5 字符串判斷
| 測試選項 | 作用 |
| -z 字符串 | 判斷字符串是否為空 |
| -n 字符串 | 判斷字符串是否為非空 |
| 字符串1 == 字符串2 | 判斷字符串1是否和字符串2相等 |
| 字符串1 != 字符串2 | 判斷字符串1是否和字符串2不相等 |
6 多重條件判斷
| 測試選項 | 作用 |
| 判斷1 -a 判斷2 | 邏輯與 |
| 判斷1 -o 判斷2 | 邏輯或 |
| ! 判斷 | 邏輯非 |
