阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

shell文章系列-shell第十五讲

144次阅读
没有评论

共计 1479 个字符,预计需要花费 4 分钟才能阅读完成。

同学们,欢迎大家来到 马哥教育官网,今天我们来学习 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 ~]#$
可以看出来,即便条件为真,后面的条件也没有执行。

好啦!今天的分享到这里就结束了,希望大家持续 马哥教育官网,每天都会有大量优质内容与大家分享欧!

声明:文章来源于网络,如有侵权请联系删除!

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-12-03发表,共计1479字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中