一、shell要求
项目上线,有这样的需求,为了不让上线的服务器,不与线网的ip地址相冲突,写出一个shell脚本,把192.168.100.0/24网段在线的ip地址和不在线的ip地址列出来并且保存到文档中。
二、shell分析
1、 24网段公有254个ip地址,从192.168.100.1到192.168.100.254,需要以个for循环进行遍历
2、看一个ip地址是否在线,主要用ping命令来进行测试
#!/bin/bash
for ip in {1..254}
do
ip="192.168.100.$ip"
ping -c 1 -i 0.2 -W 2 $ip &> /dev/null
if [ $? -eq 0 ];then
echo "$ip is up" >> up.txt
echo "$ip is up"
else
echo "$ip is down" >> down.txt
echo "$ip is down"
fi
done