私のLinuxボックス(具体的にはGentoo Linux 2.6.31)では、HOSTNAME環境変数はシェルでは使用できますが、スクリプトでは使用できないことに気付きました。例えば、
$ echo $HOSTNAME
戻り値
xxxxxxxx.com,
だが
$ ruby -e 'puts ENV["HOSTNAME"]'
戻り値
nil
一方、たとえば、USER環境変数は、シェルとスクリプトの両方で使用できます。
入力時に表示される環境変数のリストにUSERが表示されることに気付きました
export
すなわち、
declare -x USER="infogrind"
HOSTNAMEはしません。私は問題がそれと何か関係があると思う。
私の質問:1)HOSTNAMEをスクリプトで使用可能にする方法、および2)理解を深めるために、この変数が最初に設定される場所と、なぜ「エクスポート」されないのですか?
gethostname()
このため、通常は使用することをお勧めします。