用shell腳本批量ping域名

此腳本實現的功能是批量ping域名,將能ping通的和不能ping通的分類,並記錄能ping通的域名的相應解析地址

#!/bin/bash

#判斷第一個參數是否是文件,不是則退出
if [[ -f $1 ]];then
    do_name=(`cat $1`)
else
    echo "$1文件不存在"
    exit 1
fi
#設置ping的包個數
package_num=2

echo -e "解析地址\t\t域名">>res_ok.txt
echo "域名">>res_error.txt

#循環ping文件中的域名,並記錄結果
for name in ${do_name[*]}
do 
    ip=`ping -c $package_num $name | awk -F " " 'NR==2{print $4}'`
    if [ "$ip" != "" ];then
            echo -e "$ip\t\t$name">>res_ok.txt
    else
            echo "$name">>res_error.txt
    fi
done

注:腳本後直接跟域名文本,文本中一行包含一個域名,運行結果顯示在res_ok.txt和res_error.txt中。

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