~/.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」を期待していました。

何か案が?

OS: Ubuntu 11.10

答え1

/etc/bashrcと は両方ともファイル~/.bashrcと呼ばれます。つまり、または別のファイルnon-loginによって呼び出されない限り、ログイン シェル中にソース化されません。/etc/profile

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

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

/root: # . .bashrc(ピリオド付きの出典)

loginまたは、 su または 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 ファイルに記載されているコマンドを実行する必要があります。そのためには、ターミナルを閉じて再度開く必要があります。

関連情報