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