在本主題中,我們將了解如何在Bash腳本中使用if語句來催促自動化任務完成Bash if語句是有益的。它們習慣於在語句的連續執行流中執行條件任務。If語句通常允許我們在Bash腳本中形成決策。它們幫助我們根據我們可能設置的條件來決定是否運行一段代碼。
基本if語句
一個基本的if語句命令,如果特定條件為真,則隻執行給定的操作集。如果不是真的,那就不要執行這些行動。如果語句是基於後續格式的謂詞:
語法
If[表達式];
然後
語句
then和fi (If backward)之間的語句將被執行,隻要方括號之間的語句為真。
注意:注意主行中使用的空格和主行頂部的分號;兩者都是必須使用的。If條件語句以fi結尾。
在我們的條件中,我們可以使用多個if條件,同時使用and/or或兩者。
例1:在腳本中使用&&
If [expression_1] && [expression_2];
然後
語句
fi
例2在腳本中使用||
If [expression_1] || [expression_2];
然後
語句
fi
例3在腳本中同時使用& or。
If [expression_1 && expression_2 || expression_3];
然後
語句
fi
下麵是if在bash中的簡單用例,
# !/bin/bash read -p " Enter number: " number if [$number -gt 100] then echo "值大於100
這段代碼的輸出取決於我們的輸入,所以在下麵的圖片中,你會看到我們的輸出是如何隨著我們的輸入而變化的。
當輸入小於100時,這段代碼沒有輸出,當輸入為450時,它給出了輸出。
例2:在這個例子中,我們比較兩個字符串,我們將看到它是如何工作的,讓我們在代碼中看看。
# !/bin/bash # if條件為真if ["mylife" == "mylife"];然後返回"true condition" fi # if condition為false if ["myscript" == "yourscript"];然後返回“false condition”fi
輸出
這裏你可以看到,我們隻得到一個輸出,因為另一個條件為假,而1聖條件為真。
例3:在這個例子中,我們使用各種if條件來查看工作流,
/bin/bash #if條件(大於)為真if [10 -gt 3];然後返回"10 is greater than 3." if if條件(大於)為false if [3 -gt 10];如果[3 -lt 10],則返回"3 is not大於10." fi #if條件(小於)為真if [3 -lt 10];然後返回"3 is less than 10." if if條件(小於)為false if [10 -lt 3];然後返回"10 is not less than 3." fi #if condition (equal to)為真if [10 -eq 10];if if條件(等於)為false if [10 -eq 9];然後返回“10 is not equal to 9”fi
代碼輸出:
嵌套的如果:
我們還可以在bash shell腳本中嵌套if條件,嵌套意味著我們可以編寫代碼,在其中我們可以檢查一個條件是否為真,也可以檢查條件中的條件是否為真或假,如果我們在代碼中看到,那麼你會更好地理解。
# !/bin/bash #嵌套if語句a=3 if ["$a" -gt 0] then if ["$a" -lt 5] then echo "The value of \"a\" lies between 0 and 5." fi fi #結果與:if ["$a" -gt 0] && ["$a" -lt 5] then echo "The value of \"a\" lies between 0 and 5." fi
下麵是使用兩個if條件檢查同一語句的代碼。
下麵是上麵代碼的輸出。