判断上一条命令是否成功 $? Alex

 $? 只判断最后一条命令,脚本中前面命令错误的话,最后一条命令对的话就会返回0 

1、执行完上一条命令直接判断是否成功

[22:03:37 root@localhost ~]#grep -q alex1 /etc/passwd
[22:03:39 root@localhost ~]#echo $?
1

2、通过判断是否为0,是0则表示上一个命令是成功的

( grep -q alex /etc/passwd ;echo $?)
0

反之1-255都是错误的,表示前面命令都没找到

( grep -q alex1 /etc/passwd ;echo $?)
1

 3、ping IP地址,判断IP是否存在

[22:17:28 root@localhost ~]#(ping -c1 -W2 10.0.0.0 &> /dev/null ; echo $?)
1
[22:18:02 root@localhost ~]#(ping -c1 -W2 192.168.1.3 &> /dev/null ; echo $?)
0

-c1 ping 一次

-W2 超时时长2秒

原文地址:https://www.cnblogs.com/alexlv/p/14792646.html