Linux 与或操作符 (&& – ||) 实际上是‘与’和‘或’操作符的组合。
比如,我们ping www.baidu.com,如果成功打印‘已验证’,否则打印‘主机故障’。
执行语句和结果如图所示:
[tania@localhost demo]$ ping -c3 www.baidu.com && echo "已验证" || echo "主机故 障" PING www.baidu.com (163.177.151.109) 56(84) bytes of data. 64 bytes from 163.177.151.109 (163.177.151.109): icmp_seq=1 ttl=128 time=33.0 ms 64 bytes from 163.177.151.109 (163.177.151.109): icmp_seq=2 ttl=128 time=32.0 ms 64 bytes from 163.177.151.109 (163.177.151.109): icmp_seq=3 ttl=128 time=33.0 ms --- www.baidu.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 3147ms rtt min/avg/max/mdev = 32.057/32.715/33.071/0.488 ms 已验证 [tania@localhost demo]$
当我们把网线拔掉时,命令执行结果如下:
[tania@localhost demo]$ ping -c3 www.baidu.com && echo "已验证" || echo "主机故 障" ping: www.baidu.com: 未知的名称或服务 主机故障 [tania@localhost demo]$
其实该命令就是先执行判断条件,如果条件满足,就执行判断条件与符号“&&”连接的命令;否则就执行符号“||”后面的命令。
它很像‘if-else‘语句。(例如上面的语句我们用if-else脚本也可以完成)
#!/bin/bash if ping -c3 www.baidu.com then echo "已验证" else echo "网络故障" fi
脚本执行结果与终端命令行执行的结果一致。



