jas*_*ose 3 linux ip bash host
我们有一个脚本需要对有限的主机列表采取行动。但是每次我们在 /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
Run Code Online (Sandbox Code Playgroud)
我的脚本 (bash) 执行以下操作:
callmyfunction hostip_1
callmyfunction hostip_2
callmyfunction hostip_3
callmyfunction hostip_5
Run Code Online (Sandbox Code Playgroud)
如果我想将 hostip_4 添加到主机列表中,我现在必须进入并编辑我的脚本并将其添加到列表中。虽然这是一个小的编辑,但它仍然是一个可以在过程中被遗忘的步骤(特别是如果有人不熟悉系统的话)。
有没有办法可以测试“hostip_1”是否是系统内的有效主机名(无需ping主机或grepping /etc/hosts文件)?我们可能会使用多个主机文件,不同的配置可能有不同的文件名,所以我不能依靠尝试 grep 单个文件。我需要系统为我完成这项工作。
任何线索?
首先,我关于不在主机文件中的东西的说法是错误的。那正是他们所在的地方。对我来说是愚蠢的。
但答案是:
getent hosts
Run Code Online (Sandbox Code Playgroud)
这将使它打印出所有内容,我可以从那里进行查找。
| 归档时间: |
|
| 查看次数: |
12075 次 |
| 最近记录: |