#!/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
这种查找方法比较简单,当然还有其他方法,如果要通过提取关键字的话,还需要使用多个管道符,相对来说降低了处理速度,所以不建议使用那种方式。