问题
我有一个Ubuntu 11.04虚拟机,想要设置Java开发环境。我按照以下步骤进行:
sudo apt-get install openjdk-6-jdk
将以下条目添加到~/.bash_profile文件中:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk export PATH=$PATH:$JAVA_HOME/bin
保存更改并退出
再次打开终端,输入以下命令:
echo $JAVA_HOME (显示为空) echo $PATH (显示,但没有JAVA_HOME的值)
什么都没发生,就好像从未执行过导出JAVA_HOME和将其添加到PATH。
解决方案
我不得不打开 ~/.bashrc 文件,并在文件末尾添加以下条目
#Source bash_profile to set JAVA_HOME and add it to the PATH because for some reason is not being picked up
. ~/.bash_profile
问题
- 为什么我必须这样做?我以为在没有bash_profile、bash_login或者profile的情况下,会先执行bashrc。
- 在这种情况下,我的终端是一个非登录shell吗?
- 如果是的话,为什么在终端之后使用su并输入密码时,它没有执行我在profile中设置的导出命令?
~/.bashrc
中引用~/.bash_profile
是错误的解决方案。应该反过来;~/.bash_profile
应该引用~/.bashrc
。”为什么你的解决方案与此相反? - Cloud Cho