gpt4 book ai didi

bash - 如何确定哪些主机名未解析为 IP 地址?

转载 作者:行者123 更新时间:2023-12-05 04:17:16 24 4
gpt4 key购买 nike

我在 Mac 10.9.1 上使用 bash shell。给定一个主机名文件,其中可能包含像

这样的条目
dave.mydomain.com
dave2.otherdomain.com
somethingelse.whatever.com

如何确定文件中的哪些主机名未解析为 IP 地址?

最佳答案

从文件中读取每个主机名,执行主机名的 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

关于bash - 如何确定哪些主机名未解析为 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24046360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com