要求:从列表中读取主机地址,逐个测试是否在线,能不能ping通
1.创建列表ip文件
[root@oracle tmp]# vi ping.txt
192.168.197.123
192.168.197.134
192.168.197.1
127.0.0.1
2.编写ping的for脚本
[root@oracle tmp]# vi 列表ping.sh
#!/bin/bash
#从列表中读取ip地址,并传给变量IP
for IP in `cat /tmp/ping.txt`
do
#为了减少时间,ping命令后面加上-i 指定发送的时间间隔
# -w deadline 在ping退出之前指定一个超时(以秒为单位),而不管发送或接收了多少数据包。
# -c count 指定ping的次数
# &>> 将正确或者错误的信息都标准输出到一个文件
ping -i 0.3 -w 3 -c 3 $IP &>> ping信息
if [ $? -eq 0 ]
then
echo "$IP能ping通,网络通畅"
else
echo "$IP不能ping通,网络不通"
fi
done
3.执行shell脚本,查看测试结果
[root@oracle tmp]# sh 列表ping.sh
192.168.197.123不能ping通,网络不通
192.168.197.134能ping通,网络通畅
192.168.197.1不能ping通,网络不通
127.0.0.1能ping通,网络通畅