为没有主目录的用户设置持久环境变量

为没有主目录的用户设置持久环境变量

这是一个快速问题。我在 Debian 中,以 root 身份运行 bash 脚本。如果我创建了没有主目录的用户,是否可以为特定用户设置 envar?

查看这些答案,它们都指的是查看主目录中的文件,而我无法做到这一点: https://unix.stackexchange.com/questions/21598/how-do-i-set-a-user-environment-variable-permanently-not-session

答案1

有点取决于您分配的实际 shell,但例如 bash 会在尝试用户主目录中的/etc/profile单个、和文件之前 ~/.bash_profile尝试~/.bash_login读取。~/.profile

我手头没有最新的 Debian 主机,但 RHEL 使用一个简单的插入目录/etc/profile.d来存放代码片段,这可能更好。例如,测试用户的特定 UID 号 (599) 的东西应该可以工作:

 # /etc/profile.d/for-user-599.sh 
 [[ $(id -u) = 599 ]] && export VAR=VALUE

相关内容