Intentando configurar JAVA_HOME en ~/.bashrc

Intentando configurar JAVA_HOME en ~/.bashrc

Agregué esta línea al final de ~/.bashrc

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

Pero cuando ejecuto echo $JAVA_HOME, no obtengo nada como resultado, esperaba "/usr/java/jdk1.5.0_07/bin/java".

¿Alguna idea?

Sistema operativo: Ubuntu 11.10

Respuesta1

Ambos /etc/bashrcy ~/.bashrcson lo que se conoce como non-loginarchivos. Lo que significa que no se obtienen durante un shell de inicio de sesión a menos que sean llamados por /etc/profileotro archivo.

Si /etc/profilelo llama (como es típico), si desea probarlo en su shell actual, debe obtenerlo.

/root: #> source .bashrc(fuente con la fuente del comando)

/root: # . .bashrc(fuente con punto)

O tienes que crear una instancia de un loginshell usando su o sudo.

/root: # su -(el guión inicia un shell de inicio de sesión que recuperará los archivos de inicio de sesión)

/root: # sudo su -(usando sudo para realizar el comando de cambio de usuario)

y, por supuesto, puedes volver a iniciar sesión.

EDITAR:

Normalmente, aunque las rutas de Java no se configuran mediante .bashrc, se configuran como scripts separados en el /etc/profile.ddirectorio. Al menos en las distribuciones empresariales 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...

Respuesta2

Para habilitar el cambio que ha realizado en el archivo ~/.bashrc, debe ejecutar el comando mencionado en el archivo ~/.bashrc. Para ello hay que cerrar la terminal y volver a abrirla.

información relacionada