Linuxでホスト名(「getent」など)を確認するためのMac OSコマンド

Linuxでホスト名(「getent」など)を確認するためのMac OSコマンド

通常のプログラムがホスト名を解決するのと同じように、ホスト名をIPアドレスに解決するコマンドが必要です。つまり、通常のDNSだけでなく、mDNS(.local)とを考慮する必要があります。したがって、およびは、3つのツールすべてが通常のDNSのみを使用し、アドレスを確認しないため/etc/hosts除外されます。hostdignslookup.local

Linuxでは、getent次のコマンドを使用します。まさに私が欲しいもの。ただし、getentOS Xには存在しません。

Mac OS Xに対応する製品はありますかgetent?私は以下をgetaddrinfo使用していくつかの行を書くことができることを知っています。

ありがとうございます!

答え1

dscacheutil私はこれがあなたが探しているものだと思います。キャッシュ、/ etc / hosts、mDNS(.local用)をサポートします。

dscacheutil -q host -a name foo.local

別のオプションはdns-sd

dns-sd -q foo.local

dnscacheutil 氏に関する更なる情報

答え2

(確立されたuser422009の返信)

これをあなたの~/.bash_profile:

getent() {
  [ "$1" == "hosts" ] && shift
  for x
  do
    echo $x $(dscacheutil -q host -a name $x | awk '/^ip_address/{print $NF}')
  done
}

次に、新しい端末を開くか、bash_profileをインポートします。

. ~/.bash_profile

それはうまくいきます:

$ getent hosts www.example.com
www.example.com 93.184.216.34

関連情報