~/.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です。これは、他のファイルから呼び出されない限り、ログインシェル中にソースが提供されないことを意味します。~/.bashrcnon-login/etc/profile

呼び出す場合/etc/profile(通常)、現在のシェルでテストするにはそれをインポートする必要があります。

/root: #> source .bashrc(ソース対コマンドソース)

/root: # . .bashrc(ピリオドのあるソース)

またはloginsu または sudo を使用してシェルをインスタンス化する必要があります。

/root: # su -(ダッシュは、ログインファイルをリソースとして使用するログインシェルを起動します)

/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 ファイルに記載されているコマンドを実行する必要があります。これを行うには、端末を閉じて再度開く必要があります。

関連情報