一、判斷格式
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 | 邏輯或 |
! 判斷 | 邏輯非 |