作業中のマシンのホスト名(完全修飾ドメイン名)を取得するにはどうすればよいですか?
これが私のスクリプトです:
#! /bin/sh
hostname=$(Host $ipaddr | awk '{print substr($NF,1,length($NF)-1)}')
echo $hostname
$h= get the current hostname
if [ $hostname -ne $h ]
then
//instructions
fi
hostname
またはuname -n
を使用して、kernelホスト名(ノード名)を取得します。
hostname -s
は、最初のコンポーネントのみを提供します。
hostname -f
を使用してFQDNを取得します。さらに、ホスト名をIPアドレスに変換してから、ドメイン名に戻そうとします。
環境変数の使用は注意が必要です。使用しているシェルの問題である可能性があります。一部のシェルは$ Hostを使用し、他のシェルは$ HOSTNAMEを使用します。 @grawityが言及したuname -nオプションを使用します。