Shell指令碼 條件語句

2021-09-28 10:46:23 字數 2113 閱讀 1850

1、檔案測試

2、整數值比較

3、字串與邏輯測試

if語句:

單分支的if語句

雙分支的if語句

多分枝的if語句

檔案測試是指的是根據給定的路徑名稱,判斷對應的是檔案還是目錄,或者判斷檔案是否可讀、可寫、可執行等。

基本格式

test 條件表示式 或者 [ 條件表示式 ]
檔案的常見操作選項如下:選項

描述-d

測試是否為目錄(directory)

-e測試目錄或檔案是否存在(exist)

-f測試是否為檔案(file)

-r測試當前使用者是否有許可權讀取(read)

-w測試當前使用者是否有許可權寫入(write)

-x測試是否設定有可執行(excute)許可權

執行以上操作之後,可以通過「$?」可以獲得測試命令的返回狀態值,從而判斷是否成立

格式一

test -d /etc/sysconfig (測試/etc裡的sysconfig目錄是否存在)

echo $?(返回值為0,則條件成立)

格式二

[ -d /etc/sysconfig ]

echo$(若條件不成立,測試值將不為0(通常為1))

整數值比較

格式格式:[ 整數1 操作符 整數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、!:邏輯否,表示「不」的意思

if語句

單分支結構

if 條件測試操作

then

命令序列

fi

雙分支結構

if 條件測試操作

then

命令序列1

then

命令序列2

fi

多分枝結構

if 條件測試操作

then

命令序列1

elif 條件性測試操作2

then

命令序列2

else

命令序列3

fi

shell指令碼條件語句編寫

第一步 掌握if語句幾種分支 下面的是if最完整的格式了,實際運用中可以根據需要刪減 if condition then action elif conditon then action 中間若干elif else action then action fi這裡有幾點要說明 1 action可以為空...

shell指令碼 條件

test或 命令 test用法 檢查乙個檔案是否存在。if test f fred.c thenfi或 if f fred.c then fi bin sh echo is it morning?please answer yes or no read timeofday if timeofday ...

shell指令碼條件判斷

unix shell 程式設計中條件判斷是極為重要的,以下是常用的條件判斷 檔案判斷 b file 若檔案存在且是乙個塊特殊檔案,則為真 c file 若檔案存在且是乙個字元特殊檔案,則為真 d file 若檔案存在且是乙個目錄,則為真 e file 若檔案存在,則為真 f file 若檔案存在且是...