码迷,mamicode.com
首页 > 系统相关 > 详细

shell 脚本:ping一个网段的所有ip 和 隔一秒显示当前的时间

时间:2017-04-20 11:16:33      阅读:1132      评论:0      收藏:0      [点我收藏+]

标签:shell脚本 ping同一网段的所有ip

环境是 centos7  /bin/bash

注意在复制测试时,务必将示例中的ip网段更改为自己的ip网段。

ctrl+z可以将脚本打入后台,然后查看进程kill掉。

1.

#!/bin/bash


for i in {1..254} #定义1到254   

do

HOST=192.168.168.$i

ping -c 2 $HOST &>/dev/null 

if [ $? -eq 0 ];then  # -eq 判断返回值是否为0 $?为0表示执行结果正确 

echo "$HOST IS UP"

else

echo "$HOST IS DOWN "

fi

done


2.

#!/bin/sh


ip="192.168.168."

for i in {1..254}  #定义1到254 个ip数

#for i in `seq 1 254` 也可以这样表示

do

  ping -c 2 $ip$i | grep -q ‘ttl=‘ && echo "$ip$i yes"|| echo "$ip$i no" 

#ping -c 2 ping2次 过滤输出结果中的 ttl= 如果有 ttl= 则输出 echo "$ip$i yes 反之 输出 no

done


3。

#!/bin/sh


ip=1 #说明起始ip

while [ $ip != 254 ];#ip的最大 

do 

ping 192.168.168.$ip -c 2 | grep -q  ‘ttl=‘  && echo "192.168.168.$ip yes" || echo "192.168.168.$ip no"

ip=`expr "$ip" "+" "1"` #每运行一次$ip + 1 

done


隔一秒显示当前的时间

#!/bin/bash

for now in {1..5000}; 

do 

echo "current time: $(date ‘+%T‘)"; #date中只取出时间参数

sleep 1; #延时一秒

done



shell 脚本:ping一个网段的所有ip 和 隔一秒显示当前的时间

标签:shell脚本 ping同一网段的所有ip

原文地址:http://19941018.blog.51cto.com/11889001/1917576

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!