假设机器运行 Linux 内核,会话使用 Bash shell,并且一切都使用默认配置(没有用户对配置文件进行任何更改),我们可以假设环境$HOME
变量始终设置吗?
答案1
是的。这POSIX规范 需要操作系统为 $HOME 设置值:
HOME
系统应在登录时将此变量初始化为用户主目录的路径名。参见 pwd.h。
用户呢nobody
?
# su - nobody
No directory, logging in with HOME=/
$ echo $HOME
/
即使nobody
没有真正的home,也HOME
被设置为根目录。