Проблема
У мене є віртуальна машина Ubuntu 11.04, і я хотів створити своє середовище розробки Java. Я зробив так
sudo apt-get install openjdk-6-jdk
До ~ / .bash_profile додано наступні записи
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk export PATH=$PATH:$JAVA_HOME/bin
Збережіть зміни та вийдіть
Знову відкрийте термінал і наберіть наступне
echo $JAVA_HOME (blank) echo $PATH (displayed, but not the JAVA_HOME value)
Нічого не сталося, як якщо б експорт JAVA_HOME і його доповнення до PATH ніколи не робився.
Рішення
Мені довелося перейти до ~ / .bashrc і додати наступний запис наприкінці файлу
#Source bash_profile to set JAVA_HOME and add it to the PATH because for some reason is not being picked up
. ~/.bash_profile
Запитання
- Чому я мав це робити? Я думав, що bash_profile, bash_login або профіль за відсутності цих двох виконуються спочатку перед bashrc.
- Чи був у цьому випадку мій термінал оболонкою без входу ?
- Якщо так, то чому, роблячи su після терміналу та введення пароля, він не виконував профіль, де я також встановив згаданий вище експорт?