在我的linux集群中,我有一堆主机名,而我的网络管理日志显示了ip地址(有时根据dns更改)。
我的问题是:如何快速找到某些主机名的ipv4,而不使用" ping xxxxx"获取IP地址和Ctrl + c来阻止它。我想写一个简单的脚本,如:
myCommand hostname1
myCommand hostname2
myCommand hostname3
myCommand hostname4
myCommand hostname5
将为我打印主机名到ipaddress映射(对于hostname1-5)
那么如何写这个" myCommand"命令或shell脚本? 感谢。
答案 0 :(得分:3)
使用bind-tools中的host
工具:
$ host -4 -t A stackoverflow.com
stackoverflow.com has address 151.101.129.69
stackoverflow.com has address 151.101.1.69
stackoverflow.com has address 151.101.193.69
stackoverflow.com has address 151.101.65.69
来自同一个软件包的或dig
工具:
$ dig -4 -t A stackoverflow.com +short
151.101.129.69
151.101.1.69
151.101.193.69
151.101.65.69
答案 1 :(得分:2)
#!/usr/bin/env bash
function get_ip {
echo $1
getent hosts $1 | awk '{ print $1 }' | sed 's/^/ /g'
echo
}
用法:
get_ip unix.stackexchange.com
get_ip hostname1
get_ip hostname2