自己写的,拙劣,见谅!
#!/bin/bash
# program:
# author:
# history:
export PATH
# get network first 3 number
if [ "$1" == "" ];then
read -p "input the ip first 3 number(eg: 192.168.1): " network
else
network="$1"
fi
# check format
valid=$(echo $network | grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$')
if [ "$valid" == "" ];then
echo "$network format error"
exit 1
fi
for i in $(seq 1 254)
do
ping -c 1 -w 2 ${network}.${i} &> /dev/null && result=0 || result=1
if [ "$result" == 0 ];then
echo "server $network.$i is UP"
else
echo "server $network.$i is DOWN"
fi
done