环境输出中缺少HOSTNAME

时间:2019-06-18 17:53:09

标签: linux hostname

我有这个C代码getenv("HOSTNAME");,它在运行Linux(Guixsd)的VM上返回NULL。在调查期间,我运行了以下三个命令,它们按预期运行:

hostname => guixos

echo $HOSTNAME => guixos

cat /etc/hostname => guixos(无换行符)

因此,我希望env也可以打印出主机名,但是...

env | fgrep HOST =>

因此,我有三种访问主机名的方法有效,而我希望有两种方法可以,但不行。有人可以解释为什么这两种方法也没有给我主机名吗?

1 个答案:

答案 0 :(得分:2)

HOSTNAME是bash(但不是其他shell)默认设置的变量。它不会导出。

由于未导出,因此env或从bash shell调用的任何C程序都不会继承它。