web-dev-qa-db-ja.com

ホスト名情報に相当するMac OS Xターミナル

Linuxでは、Bashターミナルを使用して、次のことができます。

  • hostname -d DNSドメインの名前を表示し、
  • hostname -iホスト名のネットワークアドレスを表示します。

Mac OS XのBashターミナルから同じ情報を取得するにはどうすればよいですか-できれば単一のコマンド(必要に応じてオプションを指定)を使用して、特権を昇格させる必要はありません-

参考までに、Mac OS Xで使用しているBashのバージョンは次のとおりです。

  • GNU bash、バージョン3.2.57(1)-release(x86_64-Apple-darwin15)。
4
marshki

hostname -dには、hostname -fを使用します。

hostname -f | sed -e 's/^[^.]*\.//'

IPアドレスの場合は、ifconfig -aを使用します(inetデータを探します)。マシンにはネットワークデバイスen0が1つしかない場合があるので、

ifconfig en0 |awk '/inet / {print $2; }'

すべてのネットワークデバイスに関心がある場合は、ifconfig -lにデバイスがリストされていることに注意してください。これはデバイスとそれらに対応するアドレスをリストします:

#!/bin/sh
for name in $(ifconfig -l)
do
    ifconfig $name |awk -v name=$name '/inet / {printf "%s: %s\n", name, $2; }'
done

参考文献:

4
Thomas Dickey
ipconfig getifaddr $(route get 8.8.8.8 | awk '/interface: / {print $2; }')
0
Denis