Linuxでは、Bashターミナルを使用して、次のことができます。
hostname -d
DNSドメインの名前を表示し、hostname -i
ホスト名のネットワークアドレスを表示します。Mac OS XのBashターミナルから同じ情報を取得するにはどうすればよいですか-できれば単一のコマンド(必要に応じてオプションを指定)を使用して、特権を昇格させる必要はありません-
参考までに、Mac OS Xで使用しているBashのバージョンは次のとおりです。
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
参考文献:
ipconfig getifaddr $(route get 8.8.8.8 | awk '/interface: / {print $2; }')