Debian Linux - 为所有用户设置环境变量

Debian Linux - 为所有用户设置环境变量

我添加了以下内容,/etc/profile以便所有用户都可以看到路径

export JAVA_HOME=/opt/jdk11
export PATH=$PATH:$JAVA_HOME/bin

但重新启动笔记本电脑后,我无法使用echo $JAVA_PATH.我认为脚本的加载方式有一个顺序。另外,如果我要将这些更改添加到 中的单独sh文件中/etc/profile.d,它应该执行相同的操作。那么为什么它看不到路径的变化呢?

答案1

也许您正在非交互式 shell 中进行测试。对于交互式 shell,/etc/profile 和 /etc/bash.bashrc 都是来源的,但对于非交互式 shell,仅 /etc/bash.bashrc 是来源。您可以尝试将变量放入该文件中。

其他 shell 上的 /etc/profile、~/.bash_profile、~/.bash_login、~/.profile 和相关文件在这个答案

答案2

第一行声明/etc/bash.bashrc如下:

系统范围的 .bashrc 文件交互的bash(1) 外壳。

要为登录 shell 启用此文件中的设置/命令,
该文件必须来自 /etc/profile。

因此,要在任何用户终端中使用的系统范围的附加环境变量应该位于其中。即使 root 环境也会使用这些。

相关内容