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