Я запускаю файл ./setWLSEnv.sh, который имеет следующий вывод:
PATH=/Users/cris/Oracle/Middleware/Oracle_Home/wlserver/server/bin:/Users/cris/Oracle/Middleware/Oracle_Home/wlserver/../oracle_common/modules/org.apache.
ant_1.9.2/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/H
ome/jre/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin:
/Users/cris/perl5/perlbrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbi
n:/sbin:/opt/X11/bin:/Users/cris/Oracle/Middleware/Oracle_Home/wlser
ver/../oracle_common/modules/org.apache.maven_3.0.5/bin
Your environment has been set.
НО, когда я иду в тот же терминал, и я выполняю
эхо PATH все еще имеет старый путь ...
Любая идея ? Спасибо
Ответы:
Вы не можете запустить скрипт для установки пути в вашей текущей оболочке. В вашем случае это не кажется необходимым в любом случае, потому что все, что делает скрипт - это устанавливает правильные переменные для запуска процесса java в конце. Таким образом, внутри этого процесса все переменные среды должны быть установлены правильно.
Чтобы установить переменные в текущей оболочке, либо установите их в
.bashrc
/,.bash_profile
и откройте новую оболочку; или продублируйте ваш скрипт, удалите последнюю строку и добавьте новый скрипт в оболочку. path/to/new/script
.источник
Я предполагаю (через имя), что это скрипт настройки среды Weblogic. Обычно он вызывается через главный скрипт weblogic, чтобы установить пути перед запуском / остановкой сервера, но вы пытаетесь установить пути в своей собственной оболочке по любой причине. Я думаю, что ваша проблема заключается в том, как вы выполняете скрипт:
Предлагаемая вторая строка должна «поставить» скрипт в вашей среде, и он будет работать
Проверьте, почему это будет работать, прочитав «man bash» и поищите внутри определение «source»
источник
В вашем файле замените
PATH=
наPATH=$PATH:
. Это берет фактическую переменную PATH и добавляет все ваши новые PATH.Добавьте
export PATH
в конец файла. Это экспортирует предыдущий PATH с вашими изменениями.источник