標籤:字串 null
整數比較:
-eq 等於,如:if [ "$a" -eq "$b" ]
-ne 不等於,如:if [ "$a" -ne "$b" ]
-gt 大於,如:if [ "$a" -gt "$b" ]
-ge 大於等於,如:if [ "$a" -ge "$b" ]
-lt 小於,如:if [ "$a" -lt "$b" ]
-le 小於等於,如:if [ "$a" -le "$b" ]
< 小於(需要雙括弧),如:(("$a" < "$b"))
<= 小於等於(需要雙括弧),如:(("$a" <= "$b"))
> 大於(需要雙括弧),如:(("$a" > "$b"))
>= 大於等於(需要雙括弧),如:(("$a" >= "$b"))
字串比較:
= 等於,如:if [ "$a" = "$b" ]
== 等於,如:if [ "$a" == "$b" ]
!= 取反,如 if [ "$a" != "$b" ]
-z 字串為"null".就是長度為0.
-n 字串不為"null"
其他判斷參數:
-e 檔案存在
-a 檔案存在(已被棄用)
-f 判斷檔案是一個regular檔案(正常檔案,非目錄或裝置)
-s 檔案長度不為0
-d 判斷對象是目錄
-b 判斷對象是塊裝置
-c 判斷對象是字元裝置
-p 判斷對象是管道
-h 判斷檔案是符號串連
-L 判斷檔案是符號串連
-S(大寫) 判斷檔案是一個socket
-t 關聯到一個終端裝置的檔案描述符。用來檢測指令碼的stdin[-t0]或[-t1]是一個終端
-r 檔案具有讀許可權,針對運行指令碼的使用者
-w 檔案具有寫入權限,針對運行指令碼的使用者
-x 檔案具有執行許可權,針對運行指令碼的使用者
-u set-user-id(suid)標誌到檔案,即普通使用者可以使用的root許可權檔案,通過chmod +s file實現
-k 設定粘貼位
-O 運行指令碼的使用者是檔案的所有者
-G 檔案的group-id和運行指令碼的使用者相同
-N 從檔案最後被閱讀到現在,是否被修改
f1 -nt f2 檔案f1是否比f2新
f1 -ot f2 檔案f1是否比f2舊
f1 -ef f2 檔案f1和f2是否硬串連到同一個檔案
本文出自 “Linux” 部落格,請務必保留此出處http://520and519.blog.51cto.com/2254416/1557667
shell中 if 判斷