Shell判斷條件

2021-10-05 05:40:23 字數 1235 閱讀 6356

[ 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 兩數相等為真 ...