工作中經常遇到需要一下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的地方加上顏色顯示,方便肉眼觀察~