Auf meiner Linux-Box (um genau zu sein Gentoo Linux 2.6.31) ist mir aufgefallen, dass die Umgebungsvariable HOSTNAME in meiner Shell verfügbar ist, jedoch nicht in Skripten. Beispielsweise,
$ echo $HOSTNAME
kehrt zurück
xxxxxxxx.com,
aber
$ ruby -e 'puts ENV["HOSTNAME"]'
kehrt zurück
nil
Andererseits ist die Umgebungsvariable USER beispielsweise sowohl in der Shell als auch in Skripten verfügbar.
Ich habe festgestellt, dass USER in der Liste der Umgebungsvariablen angezeigt wird, die bei der Eingabe angezeigt wird
export
dh
declare -x USER="infogrind"
aber HOSTNAME nicht. Ich vermute, dass das Problem damit zu tun hat.
Meine Fragen: 1) Wie kann ich HOSTNAME in Skripten verfügbar machen und 2) zum besseren Verständnis, wo ist diese Variable ursprünglich festgelegt und warum wird sie nicht "exportiert"?
gethostname()
aus diesem Grund zu verwenden .