Linux shell程式設計 條件判斷

2021-10-05 09:28:46 字數 1382 閱讀 5831

太多了,沒記住。每次寫都要去翻,整理一下存到這裡方便查詢。

-b 檔案    判斷該檔案是否存在,並且是否為塊裝置檔案(是塊裝置檔案則為真)

-c 檔案    判斷該檔案是否存在,並且是否為字元裝置檔案(是字元裝置檔案為真)

-d 檔案    判斷該檔案是否存在,並且是否為目標檔案(是目錄為真)

-e 檔案    判斷該檔案是否存在(存在為真)

-f  檔案    判斷該檔案是否存在,並且是否為普通檔案(是普通檔案為真)

-l 檔案    判斷該檔案是否存在,並且是否為符號鏈結檔案(是符號鏈結檔案則為真)

-p 檔案    判斷檔案是否存在,並且是否為管道檔案(是管道檔案則為真)

-s 檔案    判斷檔案是否存在,並且是否為非空(非空為真)

-s 檔案    判斷該檔案是否存在,並且判斷是否為套接字檔案(是套接字檔案則為真)

兩種判斷格式(都得通過echo $?命令來檢視執行結果,結果為0則為真,否則為假)

檔案1 -nt 檔案2    判斷檔案1的修改時間是否比檔案2的新(如果新則為真)

檔案1 -ot 檔案2    判斷檔案1的修改時間是否比檔案2的舊(如果舊則為真)

檔案1 -ef 檔案2    判斷檔案1是否和檔案2的lnode號一致,可以理解為兩個檔案是否為同乙個檔案。這個判斷用於判斷硬鏈結是很好的方法

整數1 -eq 整數2    判斷整數1是否和整數2相等(相等為真)

整數1 -ne 整數2    判斷整數1是否和整數2不相等(不相等位置)

整數1 -gt  整數2    判斷整數1是否大於整數2(大於為真)

整數1 -lt 整數2    判斷整數1是否小於整數2(小於位置)

整數1 -ge 整數2    判斷整數1是否大於等於整數2(大於等於為真)

整數1 -le  整數2    判斷整數1是否小於等於整數2(小於等於為真)

-z 字串    判斷字串是否為空(為空返回真)

-n 字串    判斷字串是否為非空(非空返回真)

字串1 == 字串2    判斷字串1是否和字串2相等(相等返回真)

字串1 != 字串2    判斷字串1是否和字串2不相等(不相等返回真)

字串判斷是否相等要注意,要給該字串加上雙引號才行,即如果判斷兩個字串a,b是否相等,應該這樣:

[ "$a" == "$b" ]

判斷1 -a 判斷2    邏輯與,判斷1和判斷2都成立,最終的結果才為真

判斷1 -o 判斷2    邏輯或,判斷1和判斷2有乙個成立,最終的結果就為真

! 判斷            邏輯非,使原始的判斷式取反

Linux shell程式設計中的判斷條件

b file 若檔案存在且是乙個塊特殊檔案,則為真 c file 若檔案存在且是乙個字元特殊檔案,則為真 d file 若檔案存在且是乙個目錄,則為真 e file 若檔案存在,則為真 f file 若檔案存在且是乙個規則檔案,則為真 g file 若檔案存在且設定了sgid位的值,則為真 h fi...

linux shell 指令碼程式設計 條件語句學習

1.if 條件語句學習 if 表示式 if variable in array 語句1else 語句2fi 1.例子 bin bash num 100 if num 4 then 表示比較大小 echo this num is num greater 4 fi邏輯運算子解析 f 判斷檔案是否存在 i...

Linux Shell程式設計 條件判斷語法

語法格式 if 條件判斷式 then 程式fi 或者if 條件判斷式 then 程式fi 在使用單分支 if 條件查詢時需要注意幾點 示例 通過指令碼判斷根分割槽的使用率是否超過 80 如果超過 80 則向管理員報警。root localhost df h 檢視一下伺服器的分割槽狀況 檔案系統 容量...