質問: bashスクリプトでホスト名をipアドレスに解決するにはどうすればよいですか? bashスクリプトでホスト名をipアドレスに解決する最も簡潔な方法は何ですか? arch linux を使用しています。
回答: digを使用する次のコマンドを使用すると、sed/awk/etcなしで結果を直接読み取ることができます。マジック:$ dig +short unix.stackexchange.com 64.34.119.12 digもdnsutilsパッケージに含まれています。注:digの戻り値は0、名前を解決できなかった場合でも。したがって、戻り値をチェックする代わりに、出力が空かどうかをチェックする必要があります。hostname=unix.stackexchange.com ip=`dig +short $hostname` if [ -n "$ip" ]; then echo ip: $ip else echo could not resolve hostname. fi 注2:ホスト名に複数のipアドレスがある場合(debian.org、たとえば)、それらのすべてが返されます。この「問題」は、これまでにこの質問で言及されたすべてのツールに影響します。