“导出”命令会对哪个系统文件进行更改?

“导出”命令会对哪个系统文件进行更改?

我使用 PPA 安装了 java-8。之后我输入了以下命令:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

我曾听说过此命令会进行临时更改。但经过多次注销和登录后,下面的这些命令仍然有效(我认为是由于该export ...命令):

java -version
javac -version

但是当我发出命令时:

export -p

它显示了环境变量列表,但在该列表中,不显示变量JAVA_HOME。此外,我想知道命令如何java仍然javac有效!

有人能告诉我哪个文件export命令会进行更改吗?它们是临时的还是永久的?上面还发生了什么?请详细说明!

答案1

export是一个 shell 命令。它会影响当前正在运行的 shell 实例。它不会对任何文件进行更改。更改是临时的,仅在退出 shell 之前有效。在 shell 中设置新变量后,要使从该变量启动的其他程序可以使用它,您需要执行此操作export。请参阅:

java并且javac可能会起作用,因为您使用 PPA 安装了 Java,并且安装自动将这些命令添加到PATH什么是 PATH 环境变量以及如何添加它?)。具体来说,仅检查版本不需要变量JAVA_HOME。设置与否对此没有区别。显然JAVA_HOME被其他应用程序使用,而不是 Java 编译器或 JVM。

相关内容