2

我正在制作一个 bash 脚本来配置我们使用的一些设备,但我试图登录它,换句话说.. 当脚本启动时检查日期、时间、用户和其他值,然后 > 将此值设置为csv 在远程服务器中。

我需要 ping 来检查服务器是否可用,如果不可用,则退出程序。

所以我尝试了。

ping -c 1 XXXX >/dev/null || 出口;

它有效,但我需要回应它停止的原因,所以我尝试了:

ping -c 1 xxxx >/dev/null || echo "远程服务器不可用" ; 出口;

Buen 当我这样做时,即使 ping 顺利,程序也会退出..

简而言之,我在“||”之后尝试 有一个回声然后退出脚本,我不知道该怎么做。其他一切都像沙姆一样工作,如果我删除回声,则退出;选项工作正常..

在此先感谢您的帮助。

诺比。

4

2 回答 2

3

你可以说:

ping -c 1 x.x.x.x >/dev/null || { echo " The remote server is unavailable" ; exit; }

{ ... }表示命令分组,其中的命令将按顺序执行。

;是命令分隔符。所以当你说:

ping -c 1 x.x.x.x >/dev/null || echo " The remote server is unavailable" ; exit; 

exit无论前一个命令的结果如何,都会调用。

于 2013-11-12T17:50:34.843 回答
1

你为什么不检查$?。如果是0猪就成功了。

此致

于 2013-11-12T17:52:01.120 回答