#!/bin/bash ##声明解释器为bash
#by liwenhu 20160924 ##注释
ip=192.168.100. ##定义变量ip
for i in {1..254};do ##执行for循环语句,取值范围为1-254
ping -c 2 -I eth0 $ip$i &>/dev/null ##编写循环体,使用ping命令测试网络主机连通性,将结果添加到黑洞中
if [ $? -eq 0 ];then ##使用if判断语句,判断ping命令的结果,若上条命令执行成功
B=$(arping -I eth0 -f $ip$i |grep Unicast |awk '{print $5}') ##若上条ping命令执行成功,证明此主机存在,定义变量B为此主机的MAC地址
echo "$ip$i is starting MAC=$B" ##输入结果和主机的MAC地址变量B到屏幕
else ##若ping命令执行不成功,证明主机不存在
echo "$ip$i is stoping"
fi ##结束if判断
done ##结束for循环
转载于:https://blog.51cto.com/11638832/1855990