通过在bash脚本中使用ping检查主机可用性

我想写一个脚本,这将不断检查如果网络中的任何设备,应该是整天在线,真的在线。我试图使用ping,但是
if [ "`ping -c 1 some_ip_here`" ]
then
  echo 1
else
  echo 0
fi

给出1无论如果我输入有效或无效的IP地址。如何检查特定地址(或更好的任何设备从IP地址列表)脱机?

Ping根据错误类型返回不同的退出代码
ping 256.256.256.256 ; echo $?
# 68

ping -c 1 127.0.0.1 ; echo $?
# 0

ping -c 1 192.168.1.5 ; echo $?
# 2

0表示主机可达

2表示不可达

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...