Shell脚本测试服务是否能够ping通

/ 1 / ping指令详解

-d         :使用Socket的SO_DEBUG功能;
-c<完成次数>:设置完成要求回应的次数;
-f:极限检测;
-i<间隔秒数>:指定收发信息的间隔时间;
-I<网络界面>:使用指定的网络界面送出数据包;
-l<前置载入>:设置在送出要求信息之前,先行发出的数据包;
-n         :只输出数值;
-p<范本样式>:设置填满数据包的范本样式;
-q         :不显示指令执行过程,开头和结尾的相关信息除外;
-r         :忽略普通的Routing Table,直接将数据包送到远端主机上;
-R         :记录路由过程;
-s<数据包大小>:设置数据包的大小;
-t         :超时时间
-v         :详细显示指令的执行过程。
-W         : 等待时间

/ 2 / 脚本

使用方式

运行脚本时统一定义每个IP的循环次数, 例如

sh test.sh 2

脚本中有整数验证, 输入非法字符脚本会停止并输出

循环次数必须为正整数!
无需输入URL的版本
#!/bin/bash
ip_array=(
  www.baidu.com
  www.csdn.net
)

cycle_num=0
if [ $# -ge 1 ];then
  expr $1 + 0 &>/dev/null
  if [ $? -eq 0 ];then
    cycle_num=$1
  else 
    echo "循环次数必须为正整数!"
  fi
else 
  cycle_num=10
fi
for ((i=0;i<${cycle_num};i++))
do
    for url in ${ip_array[@]}
    do 
      echo "--------------------------"
      ping -c 1 -W 5 $url
      if [ $? -eq 0 ];then
        echo "success url : ${url}" 
      else 
        echo "Unable to Ping pass ${url}"
      fi
      echo "--------------------------"
      echo ""
    done
done

运行详情

localhost wise$ sh test.sh 2
--------------------------
PING www.a.shifen.com (220.181.38.149): 56 data bytes

--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss, 1 packets out of wait time
round-trip min/avg/max/stddev = 9.089/9.089/9.089/0.000 ms
success url : www.baidu.com
--------------------------

--------------------------
PING www.csdn.net (47.95.164.112): 56 data bytes

--- www.csdn.net ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss, 1 packets out of wait time
round-trip min/avg/max/stddev = 5.416/5.416/5.416/0.000 ms
success url : www.csdn.net
--------------------------

--------------------------
PING www.a.shifen.com (220.181.38.149): 56 data bytes
64 bytes from 220.181.38.149: icmp_seq=0 ttl=52 time=4.679 ms

--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 4.679/4.679/4.679/0.000 ms
success url : www.baidu.com
--------------------------

--------------------------
PING www.csdn.net (47.95.164.112): 56 data bytes
64 bytes from 47.95.164.112: icmp_seq=0 ttl=93 time=3.714 ms

--- www.csdn.net ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 3.714/3.714/3.714/0.000 ms
success url : www.csdn.net
--------------------------
需要输入URL的版本
#!/bin/bash
read -p "请输入要测试的服务URL, 以逗号分隔 : " URL_INPUT

ip_array=(${URL_INPUT//,/ })


cycle_num=0
if [ $# -ge 1 ];then
  expr $1 + 0 &>/dev/null
  if [ $? -eq 0 ];then
    cycle_num=$1
  else 
    echo "循环次数必须为正整数!"
  fi
else 
  cycle_num=10
fi
for ((i=0;i<${cycle_num};i++))
do
    for url in ${ip_array[@]}
    do 
      echo "--------------------------"
      ping -c 1 -W 5 $url
      if [ $? -eq 0 ];then
        echo "success url : ${url}" 
      else 
        echo "Unable to Ping pass ${url}"
      fi
      echo "--------------------------"
      echo ""
    done
done

运行详情

localhost wise$ sh test.sh 2
请输入要测试的服务URL, 以逗号分隔 : www.baidu.com,www.net.com
--------------------------
PING www.a.shifen.com (220.181.38.149): 56 data bytes

--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss, 1 packets out of wait time
round-trip min/avg/max/stddev = 11.973/11.973/11.973/0.000 ms
success url : www.baidu.com
--------------------------

--------------------------
PING www.csdn.net (47.95.164.112): 56 data bytes

--- www.csdn.net ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss, 1 packets out of wait time
round-trip min/avg/max/stddev = 5.049/5.049/5.049/0.000 ms
success url : www.csdn.net
--------------------------

--------------------------
PING www.a.shifen.com (220.181.38.149): 56 data bytes
64 bytes from 220.181.38.149: icmp_seq=0 ttl=52 time=4.653 ms

--- www.a.shifen.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 4.653/4.653/4.653/0.000 ms
success url : www.baidu.com
--------------------------

--------------------------
PING www.csdn.net (47.95.164.112): 56 data bytes
64 bytes from 47.95.164.112: icmp_seq=0 ttl=93 time=3.734 ms

--- www.csdn.net ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 3.734/3.734/3.734/0.000 ms
success url : www.csdn.net
--------------------------
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值