我有一个内部 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
打电话。