Problem
Mam maszynę wirtualną Ubuntu 11.04 i chciałem skonfigurować środowisko programistyczne Java. Zrobiłem w następujący sposób
sudo apt-get install openjdk-6-jdk
Dodano następujące wpisy do ~ / .bash_profile
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk export PATH=$PATH:$JAVA_HOME/bin
Zapisz zmiany i wyjdź
Ponownie otwórz terminal i wpisz następujące polecenie
echo $JAVA_HOME (blank) echo $PATH (displayed, but not the JAVA_HOME value)
Nic się nie stało, tak jakby eksport JAVA_HOME i jego dodatku do ŚCIEŻKI nie został nigdy wykonany.
Rozwiązanie
Musiałem przejść do ~ / .bashrc i dodać następujący wpis na końcu pliku
#Source bash_profile to set JAVA_HOME and add it to the PATH because for some reason is not being picked up
. ~/.bash_profile
pytania
- Dlaczego musiałem to zrobić? Myślałem, że bash_profile, bash_login lub profil w przypadku braku tych dwóch zostaną najpierw wykonane przed bashrc.
- Czy w tym przypadku moja Terminal A non-login shell?
- Jeśli tak, to dlaczego wykonując su po terminalu i wprowadzając hasło, nie wykonał on profilu, w którym również ustawiłem wyżej wymienione eksporty?