ホスト名とドメイン名を取得するには?

ホスト名とドメイン名を取得するには?

ホスト名とドメイン名の両方を返すUnix(Solaris)コマンドはありますか?

たとえば、

hostname -> servername
domainname -> us.xyz.com

以下を行う必要があります。servername.us.xyz.com

答え1

注文する

hostname --fqdn (or -f)

また、あなたがしたいことやしないことをすることもできます。なぜなら(none)私が実行すると、私のシステムで次のような結果が得られるからです。domainname

答え2

resolv.confでドメインが正しく設定されている場合は機能します。 NISドメイン名がDNSドメインと同じ場合は、他の人が言及したドメイン名コマンドを使用することもできます。

echo `uname -n`.`awk '/^domain/ {print $2}' /etc/resolv.conf`

答え3

この問題は私にも長年の苦しみを与えました。次のように問題を解決しました。

$(hostname).$(domainname)

シェル関数またはエイリアスを定義できます。

fqdn () {
    echo $(hostname).$(domainname)
}

答え4

これは古いスレッドであることを知っていますが、スクリプトからホスト名とドメイン名を別々に抽出する必要があります。

check-hostnameの使用に対するealgumbyの反応は、以前見たことがなかったので、これを試してみたところ、私のニーズに合わせて大きな成功を収めました。私はこれを助けるとマークしたいのですが、明らかにそうする代表はありません。

ホスト名の出力を繰り返しながら、次のようにドメインを設定しました。

domain=`check-hostname | nawk -F\. '{for(i=2; i<NF;i++){printf $i"."}printf $NF"\n"}'`
fqdn=`hostname`'.'${domain}

関連情報