shell中常用檔案條件判斷

2021-07-09 10:13:28 字數 732 閱讀 8051

在shell指令碼經常碰到if的條件判斷語句,中括號中會出現-f/-d等用於判斷一些變數和檔案,例如:

if [ -x /tmp/fh_before_preconfig.sh ]

-x在此處就是用於判斷

fh_before_preconfig.sh是否可執行

現將shell中常見的條件判斷符總結歸納如下:

常用檔案條件判斷:

-s file      檔案大小非0時為真

[ -f "somefile" ] 判斷是否是乙個檔案

[ -x "/bin/ls" ] 判斷/bin/ls是否存在並有可執行許可權

[ -n "$var" ] 判斷$var變數是否有值

[ "$a" = "$b" ] 判斷$a和$b是否相等

-r file      使用者可讀為真

-w file      使用者可寫為真

-x file      使用者可執行為真

-f file      檔案為正規檔案為真

-d file      檔案為目錄為真

-c file      檔案為字元特殊檔案為真

-b file      檔案為塊特殊檔案為真

-s file      檔案大小非0時為真

-t file      當檔案描述符(預設為1)指定的裝置為終端時為真

shell常用判斷條件if

r file 使用者可讀為真 w file 使用者可寫為真 x file 使用者可執行為真 f file 檔案為正規檔案為真 d file 檔案為目錄為真 c file 檔案為字元特殊檔案為真 b file 檔案為塊特殊檔案為真 s file 檔案大小非0時為真 t file 當檔案描述符 預設為1...

linux Shell 中常用的條件判斷

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

shell常用的判斷條件

1 判斷資料夾是否存在 if d home q www then echo true else echo false fi 系統內存在資料夾 home q www 2 判斷檔案是否存在 if e etc passwd then echo true else echo false fi if f et...