Linux 系统上是否始终设置 $HOME 环境变量?

Linux 系统上是否始终设置 $HOME 环境变量?

假设机器运行 Linux 内核,会话使用 Bash shell,并且一切都使用默认配置(没有用户对配置文件进行任何更改),我们可以假设环境$HOME变量始终设置吗?

答案1

是的。这POSIX规范 需要操作系统为 $HOME 设置值:

HOME
系统应在登录时将此变量初始化为用户主目录的路径名。参见 pwd.h。

用户呢nobody

# su - nobody
No directory, logging in with HOME=/
$ echo $HOME
/

即使nobody没有真正的home,也HOME被设置为根目录。

相关内容