ホスト名情報に対応するMac OS X端末

ホスト名情報に対応するMac OS X端末

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

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

権限を上げずに単一のコマンド(必要に応じてオプションを含む)を使用してMac OS XのBash端末から同じ情報を取得するにはどうすればよいですか?

ちなみに、Mac OS Xで使用するBashのバージョンは次のとおりです。

  • GNU bash、バージョン3.2.57(1)-リリース(x86_64-apple-darwin15)。

答え1

hostname -d使用するためのhostname -f

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

IPアドレスの場合ifconfig -ainetデータ検索)を使用してください。お使いのコンピュータにはネットワークデバイスが1つしかないため、en0次のことができます。

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

追加資料:

答え2

使っています

scutil --dns | grep 'search domain' | head -n 1 | grep -o '[a-zA-Z0-9.-]\+$'

場合によっては、これはうまくいくようですが、YMMVです。私のプロファイル(macのみ)でこれをエイリアスに設定し、dnsdomainnameLinux(代わりにhostname -d)で動作します。

答え3

ipconfig getifaddr $(route get 8.8.8.8 | awk '/interface: / {print $2; }')

答え4

「破棄」を使用してください。 whoisに類似

発掘ホスト名=>ホスト名+ipaddy

破棄IP.アドレス=>不完全

関連情報