尝试在 ~/.bashrc 中设置 JAVA_HOME

尝试在 ~/.bashrc 中设置 JAVA_HOME

我在 ~/.bashrc 的末尾添加了这一行

export JAVA_HOME=/usr/java/jdk1.5.0_07/bin/java

但是当我执行时echo $JAVA_HOME,我没有得到任何输出,我期望的是“/usr/java/jdk1.5.0_07/bin/java”。

任何想法?

操作系统:Ubuntu 11.10

答案1

/etc/bashrc都是~/.bashrc所谓的non-login文件。这意味着除非被/etc/profile其他文件调用,否则它们不会在登录 shell 期间获取来源。

如果/etc/profile调用它(这是典型的),那么如果你想在当前的 shell 中测试它,你必须获取它。

/root: #> source .bashrc(源与命令源)

/root: # . .bashrc(来源带有句号)

或者您必须login使用 su 或 sudo 实例化 shell。

/root: # su -(破折号启动一个登录 shell,它将重新获取登录文件的来源)

/root: # sudo su -(使用sudo执行切换用户命令)

当然你也可以重新登录。

编辑:

通常,虽然 Java 路径不是使用 .bashrc 设置的,但它们在目录中设置为单独的脚本/etc/profile.d。至少在我使用的企业发行版上是这样。

system1:/etc/profile.d # ll
-rw-r--r-- 1 root root  1438 Aug 30  2005 alljava.csh
-rw-r--r-- 1 root root  1682 Jul 13  2005 alljava.sh

system1:/etc/profile.d # cat alljava.sh
if [ -x /usr/$__libdir/jvm/java/bin/java ] || [ -x /usr/$__libdir/jvm/java/bin/jre ] ; then
export JAVA_BINDIR=/usr/$__libdir/jvm/java/bin
export JAVA_ROOT=/usr/$__libdir/jvm/java
export JAVA_HOME=/usr/$__libdir/jvm/java
#....cut for brevity...

答案2

要启用对 ~/.bashrc 文件执行的更改,您需要执行 ~/.bashrc 文件中提到的命令。为此,您必须关闭终端并再次打开它。

相关内容