linux环境变量加载顺序,修改机制以及时机

Linux系统下环境变量的顺序问题,以安装jdk为例
问题1:安装jdk8,配置环境变量到配置文件中,执行source,如果在终端执行export JAVA_HOME=/path/to/another/jdk,此时JAVA_HOME的值会变成新的,此时再source配置文件,JAVA_HOME的值是否变回去?
(覆盖机制)

问题2:配置环境变量后,我们会定义PATH=${JAVA_HOME}/bin,后面通过export修改JAVA_HOME的值后,是否会同步修改PATH的值?

问题1:此时再source配置文件,JAVA_HOME的值会变回去。即最后一次执行会覆盖之前的。
问题2:PATH的值已经生成,仅export修改JAVA_HOME后,不会同步修改PATH的值。如果是在配置文件,source配置文件,会依次export JAVA_HOME和PATH,那么PATH就同步修改了。
其实,你可以安装一个测试环境进行测试和验证。使用虚拟机,Windows用户可使用WSL。

以下内容部分参考ChatGPT模型:


问题1:执行source命令会重新加载配置文件中的环境变量,因此JAVA_HOME的值会变回原来的值,而不是新的值。

问题2:当修改JAVA_HOME的值时,PATH的值不会同步修改。如果想要同步修改,需要重新定义PATH的值,例如:

export JAVA_HOME=/path/to/another/jdk
export PATH=${JAVA_HOME}/bin:$PATH

如果我的建议对您有帮助、请点击采纳、祝您生活愉快

  • 这篇博客: Java基础篇之jdk、jre环境变量的配置中的 三、新建系统变量JAVA_HOME,它对应的值就是第一步复制的bin文件夹所在目录路径,并添加进入path路径中: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述
    输完后点击确定即可。接下来添加到系统变量path中:
    在这里插入图片描述
    选中Path然后点击编辑,进入以下界面:
    在这里插入图片描述
    点击新建,然后填入%JAVA_HOME%\bin就行了,点击确定就配置好了。