如何从机器名称请求 IPv4 地址?

How to request IPv4 address from a machine name?

在我的 linux 集群中,我有一堆主机名,而我的网络管理日志显示了 IP 地址(它们有时会根据 dns 发生变化)。

我的问题是:如何在不使用 "ping xxxxx" 获取 ip 地址和 Ctrl+c 停止它的情况下快速找出某些主机名的 ipv4。我想写一个简单的脚本,如:

myCommand hostname1
myCommand hostname2
myCommand hostname3
myCommand hostname4
myCommand hostname5

这将为我打印主机名到 ipaddress 的映射(对于主机名 1-5)

那么这个"myCommand"命令或者shell脚本怎么写呢? 谢谢

#!/usr/bin/env bash

function get_ip {
    echo 
    getent hosts  | awk '{ print  }' | sed 's/^/  /g'
    echo
}

用法:

get_ip unix.stackexchange.com
get_ip hostname1
get_ip hostname2

使用 host 来自 bind-tools 的工具:

$ host -4 -t A whosebug.com
whosebug.com has address 151.101.129.69
whosebug.com has address 151.101.1.69
whosebug.com has address 151.101.193.69
whosebug.com has address 151.101.65.69

或来自同一包的dig工具:

$ dig -4 -t A whosebug.com +short
151.101.129.69
151.101.1.69
151.101.193.69
151.101.65.69