- &&
只有“&&”前面的命令正确执行了,才会执行“&&”后面的命令。
- ;;
仅仅多条命令的集合,并没有将命令连接起来。
- ||
只有“||”前面的命令执行出错了,才会执行“||”后面的命令。
[root@localhost ~]# ping -c 1 www.baidu.com &>>/dev/null && echo "up" || echo "down"
up
[root@localhost ~]# ping -c 1 aaa.baidu.com &>>/dev/null && echo "up" || echo "down"
down
[root@localhost script]# cat live-test.sh
#!bin/bash
#function
ping -c 1 "$1" &>>/dev/null
if [ "$?" == 0 ]
then
echo "$1 is up"
else
echo "$1 is down"
fi
[root@localhost script]# vim live-test.sh
[root@localhost script]# cat live-test.sh
#!/bin/bash
#function
ping -c 1 "$1" &>>/dev/null && echo "$1 is up" || echo "$1 is down"
[root@localhost script]# ./live-test.sh www.baidu.com
www.baidu.com is up
[root@localhost script]# ./live-test.sh aaa.baidu.com
aaa.baidu.com is down