溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Shell腳本——條件語句

發(fā)布時間:2020-07-19 20:14:02 來源:網(wǎng)絡(luò) 閱讀:287 作者:macbok 欄目:系統(tǒng)運維

條件測試

1、文件測試
2、整數(shù)值比較
3、字符串與邏輯測試

·

if語句:
單分支的if語句
雙分支的if語句
多分枝的if語句

·

1、文件測試

文件測試是指的是根據(jù)給定的路徑名稱,判斷對應(yīng)的是文件還是目錄,或者判斷文件是否可讀、可寫、可執(zhí)行等。

基本格式

test 條件表達式 或者 [ 條件表達式 ]

文件的常見操作選項如下:

選項 描述
-d 測試是否為目錄(Directory)
-e 測試目錄或文件是否存在(Exist)
-f 測試是否為文件(File)
-r 測試當(dāng)前用戶是否有權(quán)限讀取(Read)
-w 測試當(dāng)前用戶是否有權(quán)限寫入(Write)
-x 測試是否設(shè)置有可執(zhí)行(Excute)權(quán)限

執(zhí)行以上操作之后,可以通過“$?”可以獲得測試命令的返回狀態(tài)值,從而判斷是否成立

實際操作

格式一

test -d /etc/sysconfig (測試/etc里的sysconfig目錄是否存在)
             echo $?(返回值為0,則條件成立)

格式二

[ -d /etc/sysconfig ]
                echo$(若條件不成立,測試值將不為0(通常為1))

整數(shù)值比較

格式格式:[ 整數(shù)1 操作符 整數(shù)2 ]

常用操作選項

1、-eq:等于(Equal)
2、-ne:不等于(Not Equal)
3、-gt:大于(Greater Than)
4、-lt:小于(Lesser Than)
5、-le:小于或等于(Lesser or Equal)
6、-ge:大于或等于(Greater or Equal)

字符串比較

格式1:[ 字符串1 = 字符串2 ]
            [ 字符串1 ! = 字符串2 ]
格式2:[ -z 字符串]

常用操作選項

1、=:第一個字符串與第二個字符串相同
2、!=:第一個字符串與第二個字符串不相同,其或中“!”符號取反
3、-z:檢查字符串是否為空,對于未定義或賦予空值的變量將視為空串

邏輯測試

格式1:[ 表達式1 ] 操作符 [ 表達式2 ] ...
格式2:命令1 操作符 命令2 ...

常用操作選項

1、-a或&&:邏輯與,“而且”的意思
2、-o或||:邏輯或,“或者”的意思
3、?。哼壿嫹瘢硎尽安弧钡囊馑?/code>

if語句

單分支結(jié)構(gòu)

if 條件測試操作
then
   命令序列
fi

雙分支結(jié)構(gòu)

if 條件測試操作
then
   命令序列1
then
   命令序列2
fi

多分枝結(jié)構(gòu)

if 條件測試操作
then
   命令序列1
elif 條件性測試操作2
then
   命令序列2
else
   命令序列3
fi
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI