[ condition ] 注意condition前後都有空格
非空返回true,可使用$?驗證(0為true,>1為false)
[ atguigu ] 非空,返回true
空,返回false
[ condition ] && echo
"ok"||
echo
"notok" true則列印ok,false則列印notok
1)兩個整數比較
= 字串比較
-lt 小於
-le 小於等於
-eq 等於
-gt 大於
-ge 大於等於
-ne 不等於
2)按照檔案許可權進行判斷-r 有讀的許可權
-w 有寫的許可權
-x 有執行的許可權
3)按照檔案型別進行判斷-f 檔案存在並且是乙個常規檔案
-e 檔案存在
-d 檔案存在並是乙個目錄
4)應用例項
案例1:「ok」是否等於「ok」
方法一:在命令列中執行
方法二:寫乙個shell檔案judge.sh
#!/bin/bashif[
"ok" = "ok"
]then
echo
"equal"
fi # finish
案例2:23是否大於22
#!/bin/bash
if[ 23 -gt 22 ]
then
echo
"大於"
fi
案例3:/home/liyaibn/文件/aaa.txt檔案是否存在
#!/bin/bash
# 判斷是否存在/home/liyaibn/文件/aaa.txtif[
-e /home/liyaibn/文件/aaa.txt ]
then
echo
"存在"
fi
Shell條件判斷
b file 若檔案存在且是乙個塊特殊檔案,則為真 c file 若檔案存在且是乙個字元特殊檔案,則為真 d file 若檔案存在且是乙個目錄,則為真 e file 若檔案存在,則為真 f file 若檔案存在且是乙個規則檔案,則為真 g file 若檔案存在且設定了sgid位的值,則為真 h fi...
Shell 條件判斷
傳統if 從句子 以條件表示式作為 if條件 if 條件表示式 then command command command else command command fi條件表示式 檔案表示式 if f file 如果檔案存在 if d 如果目錄存在 if s file 如果檔案存在且非空 if r ...
Shell條件判斷
1 字串判斷 str1 str2 當兩個串有相同內容 長度時為真 str1 str2 當串str1和str2不等時為真 n str1 當串的長度大於0時為真 串非空 z str1 當串的長度為0時為真 空串 str1 當串str1為非空時為真 2 數字的判斷 int1 eq int2 兩數相等為真 ...