【发布时间】:2013-01-08 11:11:59
【问题描述】:
我们有一个脚本需要对有限的主机列表执行操作。但是每次我们在 /etc/hosts 文件中添加或删除主机时,我们最终都必须更新这个脚本。
基本上,假设我的主机文件如下所示:
192.168.100.1 hostip_1
192.168.100.2 hostip_2
192.168.100.10 hostip_3
192.168.100.20 hostip_5
我的脚本 (bash) 执行以下操作:
callmyfunction hostip_1
callmyfunction hostip_2
callmyfunction hostip_3
callmyfunction hostip_5
如果我想将 hostip_4 添加到主机列表中,我现在必须进入并编辑我的脚本并将其添加到列表中。虽然这是一个小修改,但它仍然是一个可以在此过程中忘记的步骤(尤其是当系统有新人加入时)。
有没有一种方法可以测试“hostip_1”是否是系统中的有效主机名(无需 ping 主机或 grepping /etc/hosts 文件)?我们可能会使用多个主机文件,并且不同的配置可能有不同的文件名,所以我不能依赖尝试 grep 单个文件。我需要系统为我完成这项工作。
有什么线索吗?
【问题讨论】:
-
你试过
nslookup hostip_1(或更现代的dig hostip_1)吗?听起来您真正需要的是设置自己的本地 DNS 服务器... -
这两个都需要 DNS。我最终回答了我自己的问题。谢谢你看这个。感谢您的帮助。