引用另一个中的现有环境变量

Rom*_*rra 6 bash environment-variables

假设我有一个名为 的环境变量JAVA_HOME,在/etc/environment文件中定义。我需要JAVA_HOME/binPATH变量中附加一个新值。考虑以下,

JAVA_HOME=/usr/apps/jdk1.8.10_1
PATH=/bin/something/:/bin/bash/something:/usr/apps/jdk1.8.10_1/bin
Run Code Online (Sandbox Code Playgroud)

现在,如果您看一下,如果我可以将/usr/apps/jdk1.8.10_1/bin,替换为下面的内容,那就更方便了。

PATH=/bin/something/:/bin/bash/something:JAVA_HOME/bin
Run Code Online (Sandbox Code Playgroud)

我怎么能那样做?是%JAVA_HOME%/bin吗?

Gun*_*son 5

你不能在 中这样做/etc/environment。它不是脚本文件,变量扩展在那里不起作用。

要在系统范围内进行修改,文件夹中PATH具有扩展名的文件是更好的方法。它可以被命名或几乎任何东西,只要它有扩展名。在你的情况下,它可能看起来像这样:.sh/etc/profile.dmyvars.sh.sh

export JAVA_HOME=/usr/apps/jdk1.8.10_1
PATH="$PATH:$JAVA_HOME/bin"
Run Code Online (Sandbox Code Playgroud)

这样您就可以保留PATH中的默认定义/etc/environment,并在您自己的文件中修改它。

请参阅环境变量页面以供参考。