利用ping命令检测网络的Shell程序

############################################
#  检测网络
#  如有输入IP则ping此IP
#  无输入IP则ping /etc/hosts下所有IP
#  write by cailei
############################################
IP_ADD=$1

SUCCESS=/tmp/success.ping
FAIL=/tmp/fail.ping

#########  单独IP检测函数 ##################
ping_one()
{
   MACHINE=$IP_ADD
   ping  -c5  $MACHINE  1>$SUCCESS  2>$FAIL
   if  grep  "unknown host"  $FAIL  >/dev/null
   then
        echo  fail to ping $MACHINE unknown host please check ...
   else
       if  grep  "Destination Host Unreachable"  $SUCCESS  >/dev/null
       then
            echo fail to ping $MACHINE
       else
            echo success to ping $MACHINE
       fi
   fi
  
   rm  -f  $SUCCESS
   rm  -f  $FAIL
}
######### /etc/hosts全IP检测函数 ###########
ping_all()
{
   cat  /etc/hosts|grep -v '^#'|while read LINE
   do
      ADD=`awk '{print $1}'`
      for  MACHINE  in  $ADD
      do
         ping  -c5  $MACHINE  1>$SUCCESS  2>$FAIL
         if  grep  "unknown host"  $FAIL  >/dev/null
         then
              echo  fail to ping $MACHINE unknown host please check ...
         else
              if  grep  "Destination Host Unreachable"  $SUCCESS  >/dev/null
              then
                  echo fail to ping $MACHINE
              else
                  echo success to ping $MACHINE
              fi
         fi
      done
   done
  
   rm  -f  $SUCCESS
   rm  -f  $FAIL
}
################# 主程序 ###################
#判断如果无输入为IP则检测/etc/hosts所有IP地址
#否则只检测输入的IP地址

if  [ "$IP_ADD" = "" ]
then
     ping_all
else
     ping_one $IP_ADD
fi

#end of ping_network.sh 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值