批量ping列表中的IP地址

工作中經常遇到需要一下ping上千個IP的情況。於是參照網上其他人的成果,稍加改造,最終有了這個腳本:

#!/bin/bash
for i in `cat $1`
    do
        ping=`ping -c 1 -w 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`
        if (( $ping == 100 ));then
        echo -e ping "\t" $i "\t" "\033[41;37m FAIL \033[0m"
        elif (( $ping == 0  ));then
        echo -e ping "\t" $i "\t" "\033[42;37m OK \033[0m"
        else
        echo -e ping "\t" $i "\t" "\033[44;37m NULL \033[0m"
        fi
    done
保存後 chmod 一下,在後面追加包含IP列表的文件即可。

默認情況下,ping的超時時間比較長,這裏使用-W參數設置爲1秒,FAIL 和 OK的地方加上顏色顯示,方便肉眼觀察~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章