这是第一个对于我还是比较长的shell脚本程序,我先简单的说一下ping。后面是-c的意思ping的次数,-n在输出数据时不进行IP与主机名的反查,直接使用IP输出速度快,-W 等待响应对方主机的秒数。
ping检测整个网络的主机是否有响应,此外每台主机检测仅仅等待1s,也仅仅检测一次
#! /bin/bash
for siteip in $(seq 1 254)
do
site="172.20.0.${siteip}"
ping -c1 -W1 ${site} &> /dev/null
if [ "$?" == "0" ]; then
echo "$site is up" > pingfile
else
echo "$site is down"
fi
done
&> /dev/null 是吧多余的东西扔到回收站去。
pingfile是保存可以ping的通的主机ip
如果没有&> /dev/null,那么输出多余的东西如上图
输出的结果
pingfie文件中保存了可以ping通的