用while编写一个shell脚本完成ping自己网段中的所有主机
时间: 2023-09-04 11:11:56 浏览: 100
shell脚本 ping所有网段ip
好的,以下是一个基本的shell脚本,可以用来ping自己网段中的所有主机:
```bash
#!/bin/bash
# 获取本机IP地址和网段
ip=$(hostname -I | awk '{print $1}')
subnet=$(echo $ip | cut -d '.' -f 1-3)
# 循环遍历网段内的所有主机
for i in {1..254}; do
ping -c 1 $subnet.$i > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "$subnet.$i is up"
else
echo "$subnet.$i is down"
fi
done
```
该脚本首先获取本机的IP地址和网段,然后使用循环遍历该网段内的所有主机,每次ping一个主机并检查其是否可达。如果ping通,则输出“xx.xx.xx.xx is up”,否则输出“xx.xx.xx.xx is down”。
阅读全文