判断主机的联通性

简单的用ping计数,1次不通则认为目标主机不可达,如果需要多次计数可以修改下面代码中

ping -c1 这个参数

或者加一个for 循环

  1. #!/bin/bash
  2. #
  3. #********************************************************************
  4. #encoding -*-utf8-*-
  5. #Author: zhangshang
  6. #Date: 2017-11-26
  7. #URL: http://blog.vservices.top/myblog
  8. #Description: 输入一个IP地址,判断他的联通性
  9. #Copyright (C): 2017 All rights reserved
  10. #QQ Numbers: 765030447
  11. #********************************************************************
  12. #判断传入的参数是否为一个有效的ip地址
  13. [[ $1 =~ ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ ]] || { echo 'please input a valied ip' && exit 1; }
  14. count=`ping -c1 $1 | grep '1 received' | wc -l`
  15. #判断主机是否可达
  16. [ "$count" -eq 1 ] && echo -e "到$1 33[32m主机可达33[0m" || { echo -e "到$1 33[31m主机不可达33[0m" && exit 1; }
原文地址:https://www.cnblogs.com/momenglin/p/8483157.html