shell脚本学习——主机扫描

通过ICM的ping命令对局域网进行扫描,以探测那些能够回复消息的主机地址

 $1——命令行的第一个参数,如果不输入参数或者为空,执行then下面的    打印使用方法;如果输入参数,执行esle后面的

seq——注意两侧的符号不是单引号  是tab键上方的

for循环,1到20。 

for x in `seq 1 20`; do         能够让脚本程序把x变了从1逐次迭代到20.与此同时它还会执行20次循环体,循环体尾部使用done

if末尾使用fi

ping -c  1  -c设置为1即每个ip  只ping一次

提炼数据

首先 grep筛选 返回64的即主机回复的

然后cut 以空格为分隔符计算 提取第四列

然后使用 sed  's/.$//'   删除每行最后的冒号

如果想要将主机地址保存

>>文件名

#!/bin/bash
if [ "$1" == "" ]
then
echo "Usage: ./pingscript.sh [network]"
echo "example: ./pingscript.sh 192.168.20"
else
for x in `seq 1 20`; do
ping -c 1 $1.$x | grep "64 bytes" |cut -d" " -f4 | sed 's/.$//' >>/opt/qi/ping
done
fi

  

猜你喜欢

转载自www.cnblogs.com/l7planet/p/12983451.html