shell程式設計中有兩種形式進行對判斷條件進行測試:
形式一:test
形式二:[ ]
舉個小例子說明其用法及其注意事項:
例子:判斷檔案 "new.txt" 是否存在,存在現實「exist', 不存在現實」not exitst"
test -e new.txt && echo "exist" || echo "not exist"執行結果:[ -e new.txt ] && echo "exist" || echo "not exist"
實現細節說明:當一次執行很多命令式&&、 ||很有用處,它們是從前往後依次執行。
對於&&:當前面執行條件正確時,執行&&之後的,錯誤就停住了
對於||:當前面的執行條件錯誤時,執行||之後的,正確就停住了。
因此根據&&、||的特性可以對條件作出乙個模式「條件 && 執行1|| 執行2」。當條件為真時執行1;當為假時「條件&&執行1」絕對為假,因此執行2
注意事項:
下面把判斷條件列舉下:
下面整個案例實戰一把:
1.提示使用者輸入檔名
2.判斷檔名是否存在。若不存在,提示「檔案不存在」,退出程式;否則繼續執行
3.判斷檔名是檔案還是目錄
4.判斷檔名的許可權(r w x)
#!bin/bashread -p "
input the filename:
"filename
test -z "
you must input a filename.
" && exit 0
#判斷是否存在
test ! -e $filename && echo
"the file $filename do not exist.
" && exit 0
#判斷檔名型別
test -f $filename && filetype="
rugulre file
"test -d $filename && filetype="
directory
"#判斷檔案執行許可權
test -r $filename && perm="
readable
"test -w $filename && perm="
writable
"test -x $filename && perm="
execuate
"#輸出結論
echo
"the file $filename is a $filetype
"echo
"and the permission is: $perm
"
Shell 程式設計中條件判斷命令
shell 指令碼程式設計中會廣泛使用 或 test 命令判斷真假。在一些系統上這兩個命令的作用是相同的。為了增強可讀性,當使用 命令時,我們還會使用符號 來結尾。在使用 命令時,命令和檢查條件之間必須留出空格。可以使用的條件型別歸為 3 類 字串比較 算術和 檔案測試 字串比較 結果string1...
shell指令碼程式設計之條件判斷
1 shell指令碼學習 2 比較兩個數字大小 2 linux 中清空或刪除大檔案內容的五種方法 3 shell 清空檔案內容 整數測試 字元測試 檔案測試1 expression 命令測試 2 expression 關鍵字測試 3 test expression eq 測試兩個整數是否相等 相等為...
Shell條件判斷
b file 若檔案存在且是乙個塊特殊檔案,則為真 c file 若檔案存在且是乙個字元特殊檔案,則為真 d file 若檔案存在且是乙個目錄,則為真 e file 若檔案存在,則為真 f file 若檔案存在且是乙個規則檔案,則為真 g file 若檔案存在且設定了sgid位的值,則為真 h fi...