Я устанавливаю свой JAVA_HOME в свой файл ~ / .bashrc.
Теперь, Мне нужно создать скрипт, который изменит JAVA_HOME только для текущего терминала, так что я могу запустить приложение, которое нуждается в java 5.
Я создал этот скрипт для выполнения эта задача, но после завершения я вижу, что JAVA_HOME не обновляется
export JAVA_HOME=/usr/lib/jvm/java-5-oracle/
export PATH=$PATH:$JAVA_HOME
Вот результат
$ ./javaHome5.sh
$ echo $JAVA_HOME
/usr/lib/jvm/java-6-oracle/
Я думаю, что причина, по которой это не применяется, заключается в том, что скрипт выполняется на своем собственном терминале, поэтому, когда сценарий заканчивается, текущий терминал не будет затронут.
В настоящее время единственный способ, который я нашел вокруг этого:
1) Измените мой ~ / .bashrc и измените ~ / .bashrc var
2) Запустите $ source ~/.bashrc, чтобы применить изменения в текущем терминале. Который снова не может быть применен в скрипте, так как команда ~ / .bashrc должна быть запущена в текущем окне.
Излишне говорить, что это изменение относится ко всем новым терминалам окна, поэтому мне практически нужно сделать это дважды: один перед запуском моего приложения и еще один раз сразу после этого, просто для восстановления окружающей среды vars до их значения по умолчанию. Это не очень удобно.
У вас есть идеи, как я могу изменить этот var с помощью скрипта?