[Linux Shell学习系列六]Shell的条件执行——2条件执行

Bash可以根据最后一个命令的退出状态使用条件执行来连接两个命令。

支持以下两种条件执行:

逻辑与:只有当前一个命令执行成功时才执行后一个命令。

逻辑或:只有当前一个命令执行失败后才执行后一个命令。

 

1. 逻辑与“&&”

&&是布尔操作符。

语法:command1 && command2

只有当command1返回退出码0时,command2才会执行。即command1执行成功,才会执行command2。

 

D14

[ condition1 ] && [ condition2 ] #condition1和condition2都为真
[[ condition1 && condition2 ]] 
[ condition1 -a condition2 ] 
#避免使用-a:从代码的可移植性和可读性、运行效率考虑
#因为:使用-a选项,所有的参数都会在text命令执行之前被扩展,导致与&&不同的结果

此处省略文中P141-P144示例

 

2. 逻辑或“||”

逻辑或“||”也是一个布尔操作符。

语法:command1 || command2

当command1为假时才执行command2。

[ condition1 ] || [ condition2 ] #condition1为真或condition2为真
[[ condition1 || condition2 ]] 
[ condition1 -o condition2 ]  #test命令的-o选项
#避免使用-o:从代码的可移植性和可读性、运行效率考虑

此处省略文中P144-P147示例

 

3. 逻辑非“!”

逻辑非“!”也是布尔操作符。

语法:! expression

用于测试表达式是否为真或假。

test ! -f /etc/resolv.conf  #直接在test命令中使用
[ ! -f /etc/resolv.conf ] #在[]使用

 

本节结束

 

posted @ 2020-05-21 17:08  workingdiary  阅读(612)  评论(0)    收藏  举报