shell文章系列-shell第十五讲
同学们,欢迎大家来到马哥教育官网,今天我们来学习shell文章系列中的shell第十五讲!
1、布尔运算符
1.1、!
!运算符主要用于对条件取反操作,如果条件本身为真,那么加上!之后,此时条件就为假,如果条件本身为假,加上!之后此时条件就为真。bash
[root@master1 ~]
#[ ! 1 -eq 2 ] [root@master1 ~]#$echo $? 0 [root@master1 ~]#$[ ! 1 -eq 1 ] [root@master1 ~]#$echo $? 1
我们用1和2做相等比较,本身是不相等的,那么加上!号之后,条件取反,此时最终结果条件就变成真了,此时返回值为0。
再比如我们判断字符串非空操作。
bash [root@master1 ~]#$[ -z "" ] [root@master1 ~]#$echo $? 0 [root@master1 ~]#$[ ! -z "" ] [root@master1 ~]#$echo $? 1
1.2、-a
-a运算符表示和关系,他主要是将多个条件同时应用,只有满足所有的条件都为真,此时最终结果才为真,如果其中有任意一个条件为假,那最终结果则为假。比如:
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,确实都是相等的,此时返回值为0,但是第二组中我们拿200与300做相等比较,此时肯定是不相等的,虽然100确实等于100,但是结果仍然为假,返回值为1。
1.3、-o
-o运算符表示或关系,他主要是将多个条件同时应用,只要满足其中一个条件,即便其他的条件为假,那么最终结果也为真。只有所有的条件都不满足时,最终结果才为假。比如
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 ~]#$
从上面可以看出,两个条件,当其中一个条件满足,此时结果也是真,返回值为0。而下面的两个判断条件中,两个条件都不满足,此时最终结果为假,返回值为1。
2、逻辑判断符
2.1、&&
&&是逻辑与判断符,这个我们在之前的例子中也经常使用,比如:
bash [root@master1 ~]#$[ 1 -eq 1 ] && echo "yes,相等" yes,相等
逻辑与表示前者的条件为真时,才会执行后面的条件。如果前者为假,将不会执行后面的条件,比如:
bash [root@master1 ~]#$[ 1 -eq 2 ] && echo "yes,相等" [root@master1 ~]#$
可以看出来并没有执行右边的条件。
2.2、||
||是逻辑或运算符,比如:
bash [root@master1 ~]#$[ 1 -eq 2 ] || echo "no,不相等" no,不相等
逻辑或表示前者的条件为假时,才会执行后面的条件,如果前者为真,反而不会执行。比如:
bash [root@master1 ~]#$[ 1 -eq 1 ] || echo "no,不相等" [root@master1 ~]#$
可以看出来,即便条件为真,后面的条件也没有执行。
好啦!今天的分享到这里就结束了,希望大家持续马哥教育官网,每天都会有大量优质内容与大家分享欧!
声明:文章来源于网络,如有侵权请联系删除!