shell判断主机存活
通过ping命令,来查看主机是否存活,为了更准确,多ping几次
版本一:使用一个判断位,通过判断位的值,来确定输出
#!/usr/bin/bash
#ping is ok
#v1.0 by aolishuai
#定义一个IP池,也可以用文件表示
ip_list="220.181.38.148 39.156.69.79"
#拿取池中的每一个IP
for ip in $ip_list
do
#定义一个变量,用来作为判断位
ok=0
for count in {1..3}
do
#三次中只要有一次通,就跳出循环,改变判断位
ping -c1 -W1 $ip &>/dev/null
if [ $? -eq 0 ]
then
ok=1
break
fi
done
#通过判断位来打印相应状态
if [ $ok -eq 1 ]
then
echo "$ip ping is ok"
else
echo "$ip ping is failure"
fi
done
版本二:通过函数,使更简洁
#!/usr/bin/bash
#ping is ok
#v2.0 by aolishuai
#设置一个函数
ping_success() {
ping -c1 -W1 &>/dev/null
if [ $? -eq 0 ]
then
echo "$ip is ok"
continue
fi
}
while read ip
do
ping_success
ping_success
ping_success
echo "$ip is failure"
done <ip.txt