我有这个 C 代码,它在运行 Linux (Guixsd) 的虚拟机上getenv("HOSTNAME");返回。NULL在调查过程中,我运行了以下三个命令,它们按预期工作:
hostname=>guixos
echo $HOSTNAME=>guixos
cat /etc/hostname=> guixos(无换行符)
所以我希望 env 也能打印出主机名,但是......
env | fgrep HOST=>
因此,我有三种实际有效的访问主机名的方法,以及两种我希望有效但无效的方法。有人可以解释为什么这两种方法也不给我主机名吗?