Default list of exported variables in sh(1) - $HOSTNAME
fbsd.questions at rachie.is-a-geek.net
Sat Dec 27 19:28:12 UTC 2008
On Wednesday 24 December 2008 10:22:34 Brian A. Seklecki wrote:
> I've got a fun problem ...
> I'm having trouble tracking down where the default list of exported
> variables is set for sh(1).
> I've got a piece of PHP code that runs on GNU/Linux but not FreeBSD
> because (I think) $HOSTNAME is exported by default.
> The PHP CLI calls $_ENV["HOSTNAME"], which under GNU/Linux returns:
> $ php -r 'print gethostbyaddr(gethostbyname($_ENV["HOSTNAME"]))'
> In HTTP/CGI mode, I can call $_SERVER. But $_ENV should work in both
> CLI and HTTP mode.
> However, because Apache is spawned from sh(1) from rc(8) and in FreeBSD
> 6.x, $HOSTNAME is not exported by default, which is what $_ENV uses
> $ uname -a
> FreeBSD bdb00 6.3-RELEASE-p2
> $ export
I suspect linux to set them from .profile files (even /etc/profile) and not
hardcoded in a shell or login program. The default skeletons
in /usr/share/skel on FreeBSD does not set them. Neither
I would set it in /etc/profile.
Problem with today's modular software: they start with the modules
and never get to the software part.
More information about the freebsd-questions