Versuch, JAVA_HOME in ~/.bashrc festzulegen

Versuch, JAVA_HOME in ~/.bashrc festzulegen

Ich habe diese Zeile am Ende von ~/.bashrc hinzugefügt

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

Aber beim Ausführen echo $JAVA_HOMEbekomme ich nichts als Ausgabe, ich habe „/usr/java/jdk1.5.0_07/bin/java“ erwartet.

Irgendeine Idee?

Betriebssystem: Ubuntu 11.10

Antwort1

Sowohl /etc/bashrcals auch ~/.bashrcwerden als Dateien bezeichnet non-login. Das bedeutet, dass sie während einer Login-Shell nicht als Quelle verwendet werden, es sei denn, sie werden von /etc/profileoder einer anderen Datei aufgerufen.

Wenn /etc/profilees aufgerufen wird (wie üblich), müssen Sie es entweder als Quelle verwenden, wenn Sie es in Ihrer aktuellen Shell testen möchten.

/root: #> source .bashrc(Quelle mit dem Befehl Quelle)

/root: # . .bashrc(Quelle mit Punkt)

Oder Sie müssen loginmit su oder sudo eine Shell instanziieren.

/root: # su -(der Bindestrich startet eine Login-Shell, die die Login-Dateien neu beschafft)

/root: # sudo su -(mit „sudo“ den Befehl zum Benutzerwechsel ausführen)

und Sie können sich natürlich einfach erneut anmelden.

BEARBEITEN:

Normalerweise werden Java-Pfade jedoch nicht mit .bashrc festgelegt, sondern als separate Skripte im /etc/profile.dVerzeichnis. Zumindest bei den Enterprise-Distributionen, die ich verwende.

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

Antwort2

Um die Änderung, die Sie an der Datei ~/.bashrc vorgenommen haben, zu aktivieren, müssen Sie den in der Datei ~/.bashrc angegebenen Befehl ausführen. Dazu müssen Sie das Terminal schließen und erneut öffnen.

verwandte Informationen