一、 &&運算符
&&運算符用於判斷兩個條件都為真時執行後續操作。
例如:
$ a=10
$ b=20
$ if [ $a -lt 100 ] && [ $b -gt 15 ]
> then
> echo "條件成立,執行後續操作"
> fi
條件成立,執行後續操作
上述代碼中,判斷變量a是否小於100且變量b是否大於15,兩個條件都為真,所以執行後續操作。
二、 ||運算符
|| 運算符用於判斷兩個條件只要有一個為真,則執行後續操作。
例如:
$ a=10
$ b=20
$ if [ $a -gt 100 ] || [ $b -gt 15 ]
> then
> echo "條件成立,執行後續操作"
> fi
條件成立,執行後續操作
上述代碼中,判斷變量a是否大於100或者變量b是否大於15,其中條件b>15為真,所以執行後續操作。
三、 !運算符
! 運算符用於將真變假,假變真。
例如:
$ a=10
$ b=20
$ if [ ! false ]
> then
> echo "false變成了true"
> fi
false變成了true
$ if [ ! $a -eq 10 ]
> then
> echo "a不等於10"
> fi
沒有執行後續操作,因為a等於10
上述代碼中,第一個示例中,! false語句的結果為真,所以執行後續操作。
第二個示例中,判斷變量a是否等於10,由於a等於10,所以 ! $a -eq 10的結果為假,沒有執行後續操作。
四、邏輯運算符的優先級
當Shell語句中同時使用多種邏輯運算符時,需要注意它們的優先級。
邏輯運算符的優先級從高到低依次為 !、&&、||。舉個例子:
$ a=10
$ b=20
$ if [ ! $a -eq 10 ] || [ $b -gt 15 ] && [ $a -lt 5 ]
> then
> echo "條件成立,執行後續操作"
> fi
沒有執行後續操作,因為只有 ! $a -eq 10 為假
上述代碼中,邏輯運算符的優先級為 ! > && > ||,即先執行 ! $a -eq 10,再執行 $b -gt 15 && $a -lt 5。由於 $a 等於10,所以 ! $a -eq 10 的結果為假,沒有執行後續操作。
五、小結
邏輯運算符可以幫助Linux運維工程師在Shell腳本中實現邏輯判斷和流程控制。了解並熟練掌握Shell中的邏輯運算符,對於提高Shell腳本程序的效率和自動化程度都有很大的幫助。其中,&& 運算符用於判斷兩個條件都為真時執行後續操作,|| 運算符用於判斷兩個條件只要有一個為真,則執行後續操作,!運算符用於將真變假,假變真。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/303033.html