web-dev-qa-db-ja.com

作業しているマシンのホスト名を取得するにはどうすればよいですか?

作業中のマシンのホスト名(完全修飾ドメイン名)を取得するにはどうすればよいですか?

これが私のスクリプトです:

 #! /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
7
researcher

hostnameまたはuname -nを使用して、kernelホスト名(ノード名)を取得します。

hostname -sは、最初のコンポーネントのみを提供します。

hostname -fを使用してFQDNを取得します。さらに、ホスト名をIPアドレスに変換してから、ドメイン名に戻そうとします。

14
user1686

環境変数の使用は注意が必要です。使用しているシェルの問題である可能性があります。一部のシェルは$ Hostを使用し、他のシェルは$ HOSTNAMEを使用します。 @grawityが言及したuname -nオプションを使用します。

0
Alex