if語句
case 語句
shell會根據上一條命令執行的返回值來判斷真假,返回0值為真,非0值為假
格式一:test 條件表示式
格式二:[ 條件表示式 ]#注意括號裡有空格
格式:[ 操作符 檔案或目錄 ]
-e:測試目錄或檔案是否存在(exist)。
-d:測試是否為目錄(directory)。
-f:測試是否為檔案(file)。
-r:測試當前使用者是否有許可權讀取(read)。
-w:測試當前使用者是否有許可權寫入(write)。
-x:測試是否設定有可執行(excute)許可權。
格式:[ 整數變數1 操作符 整數變數2 ]
-eq:等於 ==
-ne:不等於 !=
-gt:大於 \>
-lt:小於 \<
-le:小於等於
-ge:大於等於
[ 字串1 = 字串2 ] 或 [ 字串1 == 字串2 ]
[ 字串1 != 字串2 ]
[ -z 字串 ] #檢查字串是否為空(zero),對於未定義或賦予空值的變數將視為空串
[ -n 字串 ] #檢查是否有字串存在
[ 表示式1 ] 操作符 [ 表示式2 ]
-a或&& :邏輯與,「而且」的意思,前後條件需都成立
-o或|| :邏輯或,「或者」的意思,只需前後條件中乙個成立
! :邏輯否
#&&、||操作符能夠正常存在於[[ ]]條件判斷結構中,但是如果出現在[ ]結構中的話,會報錯-c:傳送包的個數
-i:傳送包的間隔時間
-w:超時時間
-w:多少秒後停止 ping 命令操作
if 條件測試操作
then
命令序列
if 條件測試操作
then
命令序列 1
else
命令序列 2
if 條件測試操作 1
then
命令序列 1
elif 條件測試操作 2
then
命令序列 2
[else]
[命令序列 3]
case 變數值 in
模式 1)
命令序列 1
;;模式 2)
命令序列 2
;;……
*)預設命令序列
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 兩數相等為真 ...