我们有一个脚本需要对有限的主机列表采取行动。但是每次我们在 /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 单个文件。我需要系统为我完成这项工作。
任何线索?