#!/bin/bash
IP=192.168.1 #定义变量
for i in `seq 0 255` #for循环,查找192.168.1.0-255的所有地址
#for i in 192.168.1.{1,254}
do
ping -c 2 $IP.$i > /dev/null 2>&1 #ping 只发两个包,要不然不会自动结束,另外将屏幕输出信息重定向
if [ `echo $?` -eq 0 ];then #使用 echo$?判断命令执行结果的返回值
echo -n "
$IP.$i is online
"
else
echo -n "
$IP.$i is offline
"
fi
done
这种查找方法比较简单,当然还有其他方法,如果要通过提取关键字的话,还需要使用多个管道符,相对来说降低了处理速度,所以不建议使用那种方式。
本文介绍了一种使用bash脚本批量Ping网络中所有设备的方法,通过循环遍历IP地址范围并发送Ping请求,来检查网络设备的在线状态。这种方法简单有效,适用于快速网络设备状态检查。
336

被折叠的 条评论
为什么被折叠?



