我使用的是 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
除非您知道有必要,否则请使用。