22
On my Linux box (Gentoo Linux 2.6.31 to be specific) I have noticed that the HOSTNAME environment variable is available in my shell, but not in scripts. For example,
$ echo $HOSTNAME
returns
xxxxxxxx.com,
but
$ ruby -e 'puts ENV["HOSTNAME"]'
returns
nil
On the other hand, the USER environment variable, for instance, is available both in the shell and in scripts.
I have noticed that USER appears in the list of environment variables that appears when I type
export
i.e.,
declare -x USER="infogrind"
but HOSTNAME doesn't. I suspect the issue has something to do with that.
My questions: 1) how can I make HOSTNAME available in scripts, and 2) for my better understanding, where is this variable initially set, and why is it not "exported"?
3
The posix standard enumerates the environment variables you should expect on a posix-compliant systems, and HOSTNAME is not in the list: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html
– qneill – 2015-04-22T20:56:20.2032It is usually better to use
gethostname()
because of this. – user1686 – 2010-04-19T11:25:04.833