我在Mac 10.9.1上使用bash shell。给定一个主机名文件,这可能会导致像
这样的条目dave.mydomain.com
dave2.otherdomain.com
somethingelse.whatever.com
如何确定文件中的哪个主机名无法解析为IP地址?
答案 0 :(得分:2)
从文件中读取每个主机名,执行主机名的DNS查找,并检查响应:
#!/bin/bash
while read hstnm
do
if ! host ${hstnm} > /dev/null
then
echo "No ip for ${hstnm}"
fi
done < hostnames.txt
我在此示例中使用了host
实用程序,但您也可以使用dig
(例如,将grep -q
用于“NXDOMAIN”或nslookup
。
dig
+ grep
示例:
#!/bin/bash
while read hstnm
do
if dig ${hstnm} | grep -q 'NXDOMAIN'
then
echo "no ip for ${hstnm}"
fi
done < hostnames.txt