获取内部 DNS 名称的 IP 地址的单行代码?

获取内部 DNS 名称的 IP 地址的单行代码?

我有一个内部 DNS 名称,我想获取其 IP 地址。是否有一个很好的 Bash 单行代码可以将internalip1.mydomain.com 转换为 10.10.10.10?

答案1

使用该dig命令,您不必对输出执行任何额外的解析:

$ dig stackexchange.com +short
198.252.206.140

当寻找仅供内部使用的主机名时,使用以下+search参数可能是明智的:

$ dig myinternalhost +search +short
192.168.1.120

答案2

那这个呢?

% host -t A stackexchange.com | sed -e 's#.* has address ##'
198.252.206.140

答案3

我定期在脚本中使用它来进行变量分配。删除tr -d [:space:]所有换行符。

host -t A hostname | awk '{print $NF}' | tr -d [:space:]

编辑(归功于@jordanm):

host -t A hostname | awk '{printf $NF}'

不需要tr打电话。

相关内容