Posted on 2008-08-19 19:01
Prayer 閱讀(184)
評論(0) 編輯 收藏 引用 所屬分類:
Shell
條件測試是程序設計中不可缺少的一部分.以下就是shell程序設計中常見的條件測試方法.
“test”或”[ ]”命令:使用這二個命令用來測試條件是真還是假.使用方法:
if test –f file.c 或 if [ -f file.c ]
then … then …
fi fi
當條件滿足(即為真)時,則執行then后面的語句.
注意在使用方括號”[]”來測試條件時,方括號要與測試條 件之間留出空格.
測試條件分類:字符串比較類\算術比較類\與文件相關的條件測試類
字符串比較類:
string1 = string2 如果兩字符串相同,則結果為真
string1 != string2 如果兩字符串不相同,則結果為真
-n string 如果字符串不是空,則結果為真
-z string 如果字符串是空,則結果為真
注意在比較相等或不等的時侯,=/!=的兩邊要與比較的兩字符串要有空格符相隔開
-a 邏輯與,操作符兩邊均為真,結果為真,否則為假。
-o 邏輯或,操作符兩邊一邊為真,結果為真,否則為假。
! 邏輯否,條件為假,結果為真。
算術比較類:
expression1 –eq expression2 如果兩個表達式相等,則結果為真
expression1 –ne expression2 如果兩個表達式不等,則結果為真
expression1 –gt expression2 如果前一個表達式大于后一個表達工,則結果為真
expression1 –ge expression2 如果前一個表達式大于或等于后一個表達工,則結果為真
expression1 –lt expression2 如果前一個表達式小于后一個表達工,則結果為真
expression1 –le expression2 如果前一個表達式小于或等于后一個表達工,則結果為真
! expression 取表達式的非,即表達式為假,則結果為真
與文件有關的文件測試類:
文件條件測試 結果
-d file 如果文件是一個子目錄,則結果為真
-e file 如果文件存在,則結果為真
-f file 如果文件是一個普通文件,則結果為真
-g file 如果文件的set-group-id被設置,則結果為真
-r file 如果文件可讀,則結果為真
-s file 如果文件的長度不為0,則結果為真
-u file 如果文件的set-user-id被設置,則結果為真
-w file 如果文件可寫,則結果為真
-x file 如果文件可執行,則結果為真