环境输出中缺少主机名
HOSTNAME missing from env output
我有这个 C 代码 getenv("HOSTNAME");
,它 returns NULL
在 VM 运行 Linux (Guixsd) 上。在调查我 运行 以下三个命令时,它们按预期工作:
hostname
=> guixos
echo $HOSTNAME
=> guixos
cat /etc/hostname
=> guixos
(无换行符)
所以我希望主机名也被 env 打印出来,但是...
env | fgrep HOST
=>
所以,我有三种访问主机名的方法,它们确实有效,还有两种我希望有效,但没有。有人可以解释为什么这两种方法不能同时提供主机名吗?
HOSTNAME
是 bash(但不是其他 shell)默认设置的变量。未导出。
由于它没有被导出,它不会被 env
或从 bash shell 调用的任何 C 程序继承。
我有这个 C 代码 getenv("HOSTNAME");
,它 returns NULL
在 VM 运行 Linux (Guixsd) 上。在调查我 运行 以下三个命令时,它们按预期工作:
hostname
=> guixos
echo $HOSTNAME
=> guixos
cat /etc/hostname
=> guixos
(无换行符)
所以我希望主机名也被 env 打印出来,但是...
env | fgrep HOST
=>
所以,我有三种访问主机名的方法,它们确实有效,还有两种我希望有效,但没有。有人可以解释为什么这两种方法不能同时提供主机名吗?
HOSTNAME
是 bash(但不是其他 shell)默认设置的变量。未导出。
由于它没有被导出,它不会被 env
或从 bash shell 调用的任何 C 程序继承。