標籤:
test判斷式
看下面:
1 test -e /opt/a.txt && echo "exist" || echo "not exist"
判斷 /opt/a.txt 存不存在,存在輸出 exist ,否則輸出 not exist
test還有很多用法:
- 關於某個檔案名稱的”檔案類型“判斷,如 test -e fileName 表示判斷存在與否
- -e 該檔案名稱是否存在
- -f 該檔案名稱是否存在且為檔案
- -d 該檔案名稱是否存在且為目錄
- 關於檔案的許可權,如 test -f fileName 表示判斷檔案是否可讀
- -r
- -w
- -x
- 關於兩個檔案之間的比較 ,如 test file1 -nt file2
- -nt (newer than)判斷 file1 是否比 file2 新
- -ot (older than)判斷 file1 是否比 file2 舊
- 關於兩個整數之間的判斷,如 test n1 -eq n2
- -eq 判斷相等
- -ne 判斷不相等
- -gt n1 大於 n2
- -lt n1 小於 n2
- -ge 大於等於
- -le 小於等於
- 關於字串比較
- Test -z string 若string是Null 字元串,返回true
- Test -n string 若string是Null 字元串,返回false
- test str1=str2
- test str1!=str2
- 多重條件判定
- -a 兩個條件同時成立, 如 test -e file1 -a -e file2 ,表示判斷 file1 和 file2 是否都存在
- -o 任何一個條件成立就成立,如 test -e file1 -o -e file2,file1 或 file2 任何一個存在都返回 true
- ! 否定,如 test ! -e file1, 表示 file1 不存在返回 true
[ ... ] 判斷式
經常用於if 語句的判斷
注意: [ ] 中每個組件都需要用空格符來分隔; 變數最好都用雙引號括起來; 常量也用雙引號括起來
shell script-判斷式