JAVA_HOME 变量在终端上显示一个空白行

JAVA_HOME 变量在终端上显示一个空白行

我使用的是 Ubuntu 16.04 64 位。我以 的身份登录到 Ubuntu user1。我将 Oracle JDK 版本安装jdk1.8.0_144/usr/local/java并将符号链接设置为

$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_144/jre/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_144/bin/javac" 1
$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_144/jre/bin/javaws" 1
$ sudo update-alternatives --set java /usr/local/java/jdk1.8.0_144/jre/bin/java
$ sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_144/bin/javac
$ sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_144/jre/bin/javaws

然后,我打开.bashrc文件并将sudo nano ~/.bashrc 以下行添加到文件末尾:

export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export PATH=${JAVA_HOME}/bin:${PATH}

并通过输入 Ctrl+O 来保存。

但是,当我输入时echo $JAVA_HOME,终端显示一个空白行。我关闭并打开文件.bashrc,这两行仍然在那里,所以我认为我确实正确保存了文件。

答案1

文件~/.bashrc已读取一次每次启动新的交互式非登录 shell 时。换句话说,每次打开新终端或bash在已打开的终端中运行时。因此,您在此处所做的任何更改都不会生效,直到您打开新终端以启动新的 bash 会话。

或者,您可以使用source以下命令在当前会话中使用文件:

. ~/.bashrc

话虽如此,sudo除非必要,否则不要打开文件并且永远不需要~/.bashrc。确保文件仍然属于您的用户(ls -l ~/.bashrc),如果需要,更改所有权(chown swdon:swdon ~/.bashrc)并养成习惯绝不sudo除非您知道有必要,否则请使用。

相关内容