shell之ping减少时间间隔&ping的次数&用IP1去ping IP2的技巧

Jieen 2020-07-08

  • shell之ping减少时间间隔&ping的次数

作为一位新手,检测IP地址是否正常使用,ping是一个很不错的选择,可以更快的探测到当前网路的可用IP,并进行到文档。

步骤如下:

首先:创建一个脚本文件并进行编辑:

1 # vim ping.sh

然后:写入脚本,内容如下:

#!/bin/bash
for a in `seq 2 254`;
do      
      ping -i 0.1 -c 1 192.168.56.$a > /dev/null     
      r=$?        
      if [ $ -ne 0 ];
      then    
          #ping不通的网络标记为1     
          echo "ping 192.168.56.${a} 1"
      else    
          #可以ping通的网络标记为0000000000     
          echo "ping 192.168.56.${a} 0000000000"    
      fi
done

之后,运行脚本:

1 # bash ping.sh > ping.txt

注:运行脚本时,因其网络不通导致其卡着好久才出结果,所以可以用快捷键Ctrl + c 进行终止,直到脚本结束,然后打开ping.txt的文件进行查看即可。

脚本讲解:

seq 2  :即列出2-254见的数字作为a的值

ping    :-i 即设置每个IP的ping的时间间隔,此处脚本为设置成0.1秒

ping    :-c即设置每个IP中ping的次数,此处设置为1次

/dev/null    :隐藏ping的过程

$?   : 表示上一条命令的返回值(即ping是否成功执行),执行成功,返回0,执行失败,返回1

ne   :测试两个整数是否相等,即返回值是否等于0

>    :传递值到某文件(会覆盖之前的内容,慎用!!!)

>>  :追加内容到某文件后(不覆盖,在最后增加 )

  • 用IP1去ping IP2的技巧
1 # ping -S 192.168.56.66 192.168.56.50

注释:ping -S(大写S) :为指定前一个IP去ping后一个IP

相关推荐