shell文章系列-shell第十五講
同學(xué)們,歡迎大家來到馬哥教育官網(wǎng),今天我們來學(xué)習(xí)shell文章系列中的shell第十五講!
1、布爾運(yùn)算符
1.1、!
!運(yùn)算符主要用于對條件取反操作,如果條件本身為真,那么加上!之后,此時條件就為假,如果條件本身為假,加上!之后此時條件就為真。bash
[root@master1 ~]
#[ ! 1 -eq 2 ] [root@master1 ~]#$echo $? 0 [root@master1 ~]#$[ ! 1 -eq 1 ] [root@master1 ~]#$echo $? 1
我們用1和2做相等比較,本身是不相等的,那么加上!號之后,條件取反,此時最終結(jié)果條件就變成真了,此時返回值為0。
再比如我們判斷字符串非空操作。
bash [root@master1 ~]#$[ -z "" ] [root@master1 ~]#$echo $? 0 [root@master1 ~]#$[ ! -z "" ] [root@master1 ~]#$echo $? 1
1.2、-a
-a運(yùn)算符表示和關(guān)系,他主要是將多個條件同時應(yīng)用,只有滿足所有的條件都為真,此時最終結(jié)果才為真,如果其中有任意一個條件為假,那最終結(jié)果則為假。比如:
bash [root@master1 ~]#$[ 100 -eq 100 -a 200 -eq 200 ] [root@master1 ~]#$echo $? 0 [root@master1 ~]#$[ 100 -eq 100 -a 200 -eq 300 ] [root@master1 ~]#$echo $? 1
我們判斷100是否等于100并且200是否等于200,確實(shí)都是相等的,此時返回值為0,但是第二組中我們拿200與300做相等比較,此時肯定是不相等的,雖然100確實(shí)等于100,但是結(jié)果仍然為假,返回值為1。
1.3、-o
-o運(yùn)算符表示或關(guān)系,他主要是將多個條件同時應(yīng)用,只要滿足其中一個條件,即便其他的條件為假,那么最終結(jié)果也為真。只有所有的條件都不滿足時,最終結(jié)果才為假。比如
bash [root@master1 ~]#$[ 100 -eq 100 -o 200 -eq 300 ] [root@master1 ~]#$echo $? 0 [root@master1 ~]#$[ 100 -eq 200 -o 200 -eq 300 ] [root@master1 ~]#$echo $? 1 [root@master1 ~]#$
從上面可以看出,兩個條件,當(dāng)其中一個條件滿足,此時結(jié)果也是真,返回值為0。而下面的兩個判斷條件中,兩個條件都不滿足,此時最終結(jié)果為假,返回值為1。
2、邏輯判斷符
2.1、&&
&&是邏輯與判斷符,這個我們在之前的例子中也經(jīng)常使用,比如:
bash [root@master1 ~]#$[ 1 -eq 1 ] && echo "yes,相等" yes,相等
邏輯與表示前者的條件為真時,才會執(zhí)行后面的條件。如果前者為假,將不會執(zhí)行后面的條件,比如:
bash [root@master1 ~]#$[ 1 -eq 2 ] && echo "yes,相等" [root@master1 ~]#$
可以看出來并沒有執(zhí)行右邊的條件。
2.2、||
||是邏輯或運(yùn)算符,比如:
bash [root@master1 ~]#$[ 1 -eq 2 ] || echo "no,不相等" no,不相等
邏輯或表示前者的條件為假時,才會執(zhí)行后面的條件,如果前者為真,反而不會執(zhí)行。比如:
bash [root@master1 ~]#$[ 1 -eq 1 ] || echo "no,不相等" [root@master1 ~]#$
可以看出來,即便條件為真,后面的條件也沒有執(zhí)行。
好啦!今天的分享到這里就結(jié)束了,希望大家持續(xù)馬哥教育官網(wǎng),每天都會有大量優(yōu)質(zhì)內(nèi)容與大家分享歐!
聲明:文章來源于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除!