Tentando definir JAVA_HOME em ~/.bashrc

Tentando definir JAVA_HOME em ~/.bashrc

Eu adicionei esta linha no final de ~/.bashrc

export JAVA_HOME=/usr/java/jdk1.5.0_07/bin/java

Mas quando executo echo $JAVA_HOME, não recebo nada como saída, esperava "/usr/java/jdk1.5.0_07/bin/java".

Qualquer ideia?

SO: Ubuntu 11.10

Responder1

Ambos /etc/bashrce ~/.bashrcsão chamados de non-loginarquivos. O que significa que eles não são originados durante um shell de login, a menos que sejam chamados por /etc/profileoutro arquivo.

Se /etc/profileo chamar (como é típico), se você quiser testá-lo em seu shell atual, será necessário obtê-lo.

/root: #> source .bashrc(fonte com a fonte do comando)

/root: # . .bashrc(fonte com ponto final)

Ou você precisa instanciar um loginshell usando su ou sudo.

/root: # su -(o painel inicia um shell de login que fornecerá recursos para arquivos de login)

/root: # sudo su -(usando sudo para executar o comando switch user)

e é claro que você pode simplesmente fazer login novamente.

EDITAR:

Normalmente, embora os caminhos Java não sejam definidos usando .bashrc, eles são definidos como scripts separados no /etc/profile.ddiretório. Pelo menos nas distribuições empresariais que uso.

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...

Responder2

Para habilitar a alteração que você executou no arquivo ~/.bashrc, você precisa executar o comando mencionado no arquivo ~/.bashrc. Para isso você deve fechar o terminal e abri-lo novamente.

informação relacionada