按需生成一个C段的ip地址并自动ping存活,输出结果
脚本逻辑如下
#!/bin/bash
f="/tmp/ip_list.txt"
read -p "input ip prefix(e.g 192.168.1):" ip_prefix #ip地址前缀,例如192.168.1
read -p "input start ip(e.g 1):" ip_start #ping测试开始的ip
read -p "input end ip(e.g 254):" ip_end #ping测试结尾的ip
for i in $(seq ${ip_start} ${ip_end})
do
echo "${ip_prefix}.$i" >> $f #生成ip列表
done
for j in $(cat $f)
do
chk=$(ping -c2 -w2 $j |grep -i "ttl=") #逐个ping
if [ ! -z "${chk}" ];then
echo "$j ok!"
fi
done
rm -rf $f
echo "done!"
脚本运行效果如下
[root@test-centos ~]# bash pingtest.sh
input ip prefix(e.g 192.168.1):192.168.20
input start ip(e.g 1):10
input end ip(e.g 254):20
192.168.20.10 ok!
192.168.20.11 ok!
192.168.20.12 ok!
192.168.20.13 ok!
192.168.20.14 ok!
192.168.20.15 ok!
192.168.20.16 ok!
192.168.20.17 ok!
192.168.20.18 ok!
192.168.20.19 ok!
done!
done!