Shell常用脚本:监控域名、IP地址是否通【ping】

59 阅读1分钟



hostSurvival.sh

#!/bin/bash

if [ $1 ]; then
  for (( i=1;i<=2;i++ )); do
    # ping通则设置 变量值为T 否则为F ==  每ping一次则停顿2秒
    if ping -c 2 $1  &>/dev/null; then
       export ping_count"$i"='T'
    else
       export ping_count"$i"='F'
    fi
    sleep 2
  done 
# 未传参数则直接退出,并抛出提示
else 
  echo "$0:Usage sh hostSurvival.sh [HostName|IP]"
  exit 1
fi


if [ "$ping_count1" == "$ping_count2" ] && [ "$ping_count1" == 'T' ]; then
  echo "$1 is up"
else
  echo "$1 is down"
fi

# 删除上面for循环export的变量,但是测试的时候,unset不用也会自动删除,不知为什么
for (( i=1;i<=2;i++  )); do
  unset "ping_count$i"
done

请添加图片描述