天天看點

linux shell程式設計學習筆記(4)shell條件測試

——利用Shell的條件測試,可以為指令執行提供最直接的識别依據,為使用選擇、循環等更加“智能化”的腳本結構創造條件。

test 條件表達式

[ 條件表達式]    //空格兩邊要有空格

#echo  $?

0為真

非0為假

exist(存在)判斷對象(檔案或目錄)是否存在,存在為真

[root@sqlA ~]# [ -e /etc/yum ] && echo "yes"

Yes

directory(目錄)判斷對象是否是否是目錄,是則為真

[root@sqlA ~]# [ -d /etc/yum ] && echo "yes"

yes

file(檔案)判斷對象是否是檔案是則為真

[root@sqlA ~]# [ -f /etc/yum ] &&echo "yes"

[root@sqlA ~]#

read(讀)判斷對象是否有可讀權限,是則為真

write(寫)判斷對象是否有可寫權限,是則為真

execute (執行)判斷對象是否有可執行權限,是則為真

-eq  equal(相等)相等為真

-ne  not equal (不相等)不相等為真

-gt  greater  than (比…大)

-lt  lesser than 比…小

-ge  greater or equal 大于或等于

-le   lesser or equal 小于或等于

判斷兩個字元串是否相同,相同為真

格式:字元串1  == 字元串2

判斷兩個字元串是否不相同,不相同為真

格式:字元串1  !=  字元串2

判斷字元串的值是否為空,為空則為真

格式:-z 字元串

示例:

[root@ndbA shell]# name=""

[root@ndbA shell]# [ -z $name ] &&echo yes || echo no    

[root@ndbA shell]# name="a"

[root@ndbA shell]# [ -z $name ] &&echo yes || echo no

no

判斷字元串的值是否不為空,不為空則為真

格式:-n 字元串

——有多個判斷條件時使用邏輯比較

表達式1  && 表達式2  && 表達式3  //三個表達式都成立則為真

表達式1  || 表達式2  ||  表達式3  //三個表達式有一個成立則為真

繼續閱讀