RHEL6: Bash脚本,检测一个网络地址能否ping通

可能是最简单的Bash脚本。

基本功能

1. 程序接受一个参数,IPv4地址或域名;
2. 如果该地址能ping通,则显示" is pingable." 否则显示" is not pingable.".

特殊情况处理

1. 如果地址不合规范,程序不作处理,直接让ping报错。

代码实现

#!/bin/bash
#
# Check if an IP address or a hostname is pingable
# Execution: isPingable <ipaddress/hostname>
# Author: feichashao
# Parameters: ipaddress/hostname
# Result: Show  "<ipaddress/hostname> is pingable" or "<ipaddress/hostname> is not pingable".

if [ $# -eq 1 ]
        then
        ipaddr=$1
        ping -c2 $ipaddr > /dev/null
        if [ $? -eq 0 ]
                then
                echo "$ipaddr is pingable."
        else
                echo "$ipaddr is not pingable."
        fi
else
        echo "This program can ONLY accept 1 parameter."
        exit 3
fi

测试

# chmod 777 isPingable
# ./isPingable 8.8.8.8
# ./isPingable www.baidu.com