Решение:
#!/usr/local/bin/bash if [ -z "$1" ]; then echo Use: $0 hostname exit fi DNS=( 208.67.222.222 208.67.220.220 8.8.8.8 205.171.2.65 205.171.3.65 62.33.189.250 80.237.81.250 206.124.64.1 66.93.87.2 216.231.41.2 64.81.45.2 64.81.127.2 64.81.79.2 64.81.159.2 66.92.159.2 64.81.79.2 64.81.159.2 64.81.127.2 64.81.45.2 216.27.175.2 66.92.159.2 66.93.87.2 199.2.252.10 204.97.212.10 204.117.214.10 ) IFS=$'\n' cntDNS=${#DNS[@]} for II in ${!DNS[*]} do printf '% -25s' "Server ${DNS[$II]}:" nslookup -timeout=2 $1 ${DNS[$II]} | sed -ne 's/Address:\([^#]*\)$/\1/p' |sort| tr -d "\n" echo done
Примечание:
* Не забудьте подправить первую строку скрипта, а именно "#!/bin/bash" на ваше место расположение bash'a (whereis bash).
** DNS'ки публичные, некоторые могут не отвечать, поэтому -timeout=2 ... дабы не зависать сильно на таких запросах ...
good luck
Комментариев нет:
Отправить комментарий