比較字串、判斷檔案是否存在及是否可讀等,通常用」」來表示條件測試
注意:這裡的空格很重要。要確保方括號的空格:空格缺少或位置不對,
if ....; then
....
elif ....; then
....
else
....
fi
命令解釋:
[ -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)指定的裝置為終端時為真
大小比較:
-eq 比較兩個引數是否相等(例如,if [ 2 –eq 5 ])
-ne 比較兩個引數是否不相等
-lt 引數1是否小於引數2
-le 引數1是否小於等於引數2
-gt 引數1是否大於引數2
-ge 引數1是否大於等於引數2
-f 檢查某檔案是否存在(例如,if [ -f "filename" ])
-d 檢查目錄是否存在
-n 當串的長度大於0時為真(串非空)(例如 if [ -n "str1" ])
-z 當串的長度為0時為真(空串) (例如 if [ -z "str1" ])
複雜邏輯判斷:
-a 與
-o 或
! 非
shell 比較邏輯表示式
a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...
shell 四 邏輯表示式
一邏輯操作符 閘電路 說明 學習中,使用中記憶!and 乘法,or是加法練習 root server1 mnt ll total 8 1 root root 11 aug 29 12 29 temp drwxr xr x 4 root root 34 aug 29 12 12 wzj rw r r ...
邏輯表示式
1.比較表示式只能描述1個條件 2.邏輯表示式可以描述多個條件,並且使用邏輯運算子來指定多個條件之間的關係 符號含義 與 ll或 非 邏輯與表示式 邏輯與 由 連線起來的邏輯表示式,只要當兩邊的條件都成立的時候,整個邏輯表示式猜成立,只要有一邊的條件不成立,那麼整個邏輯表示式都不成立 表示式結果 1...