[root@db scripts]# cat ping.sh ##基本内容如下
#!/bin/sh
for i in {1..254}
do
{ ##开启多线程
ping -c1 -W1 172.16.210.$i > /dev/null 2>&1
[ $? -eq 0 ] && echo "172.16.210.$i"
} & ##&放在后台执行
done
wait ##等待前面的命令执行完再开始后面的命令
echo "在线ping测试完成"
[root@db scripts]# sh ping.sh 测试效果
172.16.210.1
172.16.210.10
172.16.210.36
172.16.210.250
在线ping测试完成
使用变量的方式
[root@db scripts]# cat ping.sh
#!/bin/sh
for i in {1..254}
do
IP=172.16.210.$i ##把这个网段赋给了$ip
{
ping -c1 -W1 $IP > /dev/null 2>&1
[ $? -eq 0 ] && echo "$IP"
} &
done
wait
echo "在线ping测试完成"
[root@db scripts]# sh ping.sh ##效果一样
172.16.210.1
172.16.210.10
172.16.210.36
172.16.210.250
在线ping测试完成
实际网段可根据工作环境调整
网友评论