Похожие вопросы

Почему я добавляю путь к~/.профиль bash и источник, но нет никакого эффекта?

в своем install.sh:

# other commands to install java...
echo 'export JAVA_HOME="/usr/java/latest"' >> ~/.bash_profile
source ~/.bash_profile

после того, как этот скрипт работает, я типа echo $JAVA_HOME, но ничего не отображается, но когда я выполнить source команда из текущей оболочки, JAVA_HOME отображается, когда я повторяю его снова.

Почему мой скрипт не работает и как это исправить?

Я ssh на свежий CentOS 7 и запустить сценарий выше.

5
задан Ryakna
источник

2 ответов

install.sh выполняется в случае, когда с собственным окружением. В этой среде вы установили JAVA_HOME успешным.

Если install.sh с его subshell закончена его окружающая среда тоже ушла. Подоболочка не может задать переменную в вызывающем процессе.

Если вы начинаете install.sh с source install.sh Он не работает в подоболочку и вы можете задать значение переменной JAVA_HOME. но Я не знаю, если другие строки кода в install.sh готовы бежать через source.

1
отвечен Cyrus 2014-10-30 17:47:09
источник

JAVA_HOME является переменной окружения, однако, если вы оставите скрипт, в котором вы источник .bash_profile, его значение исчезнет.

хорошее новое, что в следующий раз, когда вы войти, значение должно быть установлено.

0
отвечен Archemar 2014-10-30 15:49:04
источник

Другие вопросы .bash-profile bash linux