Shell编程:检测主机ip所在网段内其他在线ip
一、逻辑设计
- 获取本机 ip 及 网段
- 循环检测网段内所有 ip
- 判断 ping 结果,符合条件的输出相关信息
二、代码展示
#!/bin/bash#获取本机ip
#local_ip=`hostname -i| awk '{print $NF}'`
local_ip=`ip addr| grep "inet "|grep -v 127.0.0.1| awk '{print $2}'`#获取本机网段
network=`echo ${local_ip}|sed 's/\(\.\)[^.]*$/\1/'`echo "本机网段为:"$network"0"echo "============开始检测本网段内在线ip=========="for i in {1..254}
do#获取检测ipip=${network}${i}#检测判断ip是否在线ping -c 1 $ip > /dev/null 2>&1 if [ $? -eq 0 ]thenecho ${ip}"在线"fi
done