Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 应答时bash ping ip run命令_Linux_Bash_Scripting_Ping - Fatal编程技术网

Linux 应答时bash ping ip run命令

Linux 应答时bash ping ip run命令,linux,bash,scripting,ping,Linux,Bash,Scripting,Ping,我想检查两个IP地址上的ping应答,如果它们都已启动,则执行一个命令 例如: ping 8.8.8.8 on response do ping 8.8.4.4 on response execute command 是否有一个简单的bash脚本来执行此操作?根据: 如果ping根本没有收到任何回复数据包,它将以代码1退出。如果同时指定了数据包计数和截止日期,并且截止日期到达时收到的数据包少于计数,则它也将以代码1退出。在另一个错误中,它以代码2退出。否则它将以代码0退出。这使得可以使用退出

我想检查两个IP地址上的ping应答,如果它们都已启动,则执行一个命令

例如:

ping 8.8.8.8 on response do
ping 8.8.4.4 on response 
execute command
是否有一个简单的bash脚本来执行此操作?

根据:

如果
ping
根本没有收到任何回复数据包,它将以代码1退出。如果同时指定了数据包计数和截止日期,并且截止日期到达时收到的数据包少于计数,则它也将以代码1退出。在另一个错误中,它以代码2退出。否则它将以代码0退出。这使得可以使用退出代码查看主机是否处于活动状态

因此,您可以依赖退出代码来确定是否在脚本中继续

ping 8.8.8.8 -c 1
if [ $? = 0 ]
then
  echo ok
else
  echo ng
fi
使用
-c1
选项仅尝试
ping
一次。可以随意换成任何号码

$?
是上一个命令的退出代码。您可以使用它引用ping的退出代码

根据需要修改上述代码段。

Bash命令在主机启动时返回yes或no。 尝试访问不存在的站点:

eric@dev ~ $ ping -c 1 does_not_exist.com > /dev/null 2>&1; echo $?
2
尝试访问确实存在的站点:

eric@dev /var/www/sandbox/eric $ ping -c 1 google.com > /dev/null 2>&1; echo $?
0

如果返回0,则主机将被评估为响应。如果不是零,则确定主机不可访问或关闭。

我不知道使用什么bash语法在
If
语句中直接使用
ping
命令比使用
test
If-ping-c18.8.8;然后