編寫指令碼批量 ping

2021-10-24 17:30:12 字數 1419 閱讀 5505

如果有很多 ip 或者網域名稱,我們要判斷哪些能 ping 通,採用自動化指令碼特別方便。

先看指令碼,如下所示:

#! /bin/bash

#功能,ping檔案ip.lst中的ip,成功的輸出到ping_ok.lst檔案,失敗的輸出到ping_fail.lst檔案。

10.1.1.1

呼叫該指令碼 ping_ip.sh

./ping_ip.sh
指令碼執行 ping 命令成功的返回的是 0,失敗的返回的是100,根據返回結果能ping 通的放在檔案 ping_ok.lst 中,ping 不通的放在檔案 ping_fail.lst 中

#! /bin/bash

#功能,ping檔案ip.lst中的ip,成功的輸出到ping_ok.lst檔案,失敗的輸出到ping_fail.lst檔案。

echo

"">ping_fail.lst #先初始化下兩個結果檔案,避免多次執行的時候資料混亂問題

echo

"">ping_ok.lst

for i in

`cat ip.lst`

#for迴圈ip.lst 這個檔案,這也可以改改,比如 cat iplst |grep -v ^# 將 「#」 開頭的行去掉。

do ping=

`ping -c 1 $i|

grep loss|

awk''

|awk -f "%"''`

#執行ping命令將ping的 結果放到變數ping中,成功的返回的是0,失敗的返回的是100 if[

$ping -eq 100 ]

;then

#這個判斷就是判斷ping是不是等於100,等於就是失敗,寫入到失敗的檔案中,否則就是ok,寫入ok檔案中

echo

$i>>ping_fail.lst

else

echo

$i>>ping_ok.lst

fidone

批量ping指令碼

ping c 1 i表示 只pin g一次。命令解釋 c計 數 co unt 1表示 一次,i 表示只ping一次。命令解釋 c計數 count 1表示一次,i表示只pi ng一次 命令解 釋 c 計數 c ount 1表 示一次,i是ip。grep loss 通過管道的方式查詢ping後的結果含有...

批量Ping執行Bash指令碼

bin bash ping batch script 連線超時時間 tmout 3 最大執行緒數 max thread 4000 保留記憶體大小 min mem 400 預設ip配置,可通過 r ip ip指定,格式 ping batch.sh r 192.168.1.1 192.168.2.254...

shell 編寫指令碼批量ping ip

伺服器總是一下子買了很多的段的ip。通過繫結後,也不知道這些ip是否繫結成功,所以就寫了乙個shell指令碼,把ip輸好,批量ping一下,看是不是都能ping通。指令碼如下 此外。還有乙個ip檔案,裡面放的都是ip 名為allip 我們來執行一下,看一下結果 除了8.8.他顯示 ping 其他 失...