#!/usr/bin/bash
#ping check
>ip.txt
for i in {2..254}
do
{
ip=192.168.220.$i
ping -c1 -W1 $ip &> /dev/null
if [ $? -eq 0 ];then
echo "$ip"|tee -a ip.txt
fi
}&
done
wait
echo "finished"
>ip.txt
重定向清空上一次的文件- ping -W 参数设置超时时长为1秒
- 注意要将循环体内放在后台执行。
因为ping超时需要时长,for循环中一次循环未结束,下次循环仍然会等待。 - wait等待循环体结束
避免循环体未结束,先打印finished