etc/environment == $PATH?

etc/environment == $PATH?

我尝试修复 Android Studio 安装中的问题,为此我想全局编辑 $PATH 变量和 $JAVA_HOME 变量,而不仅仅是针对一个会话。

正如我在这里描述的那样(Oracle Java JDK 安装) 我的 Android Studio 找不到我的 JAVA JDK。

我现在的问题是:当我输入 echo $PATH 时,我收到:

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin

但我已经将我的环境文件(./etc/environment)编辑为:

### begin crouton-generated environment variables
### end crouton-generated environment variables
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/usr/lib/python2.7:/usr/lib/google_appengine:/usr/lib/appengine-java-sdk-1.9.40/bin"

为什么 $PATH 变量没有改变并且不受我的编辑的影响?

我可以在哪里编辑 $JAVA_HOME 变量?我找不到正确的文件。

非常感谢您的支持。

答案1

您需要退出用户会话并重新登录以使/etc/environment所做的更改生效。

你可以通过运行以下命令使其立即工作:

source /etc/environment && export PATH

我发现这个命令非常有用在 Stack Overflow 上

答案2

您必须在 中添加代码~/.profile。例如:

在执行此过程之前复制路径变量。

在 中~/.profile有这样的部分:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

因此,在文件末尾添加:

PATH="/usr/lib/jvm/java-8-oracle:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/usr/lib/appengine-java-sdk-1.9.40/bin:**$PATH**"

JAVA_HOME="/usr/lib/jvm/java-8-oracle:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/usr/lib/appengine-java-sdk-1.9.40/bin"

上面这一行将会添加现有路径中的目录。

相关内容