путь не добавляется в переменную окружения после выполнения скрипта

У меня есть скрипт, который загружает двоичный файл и обновляет переменную пути, но как только скрипт завершается, и я пытаюсь запустить двоичный файл, он не находит загруженный двоичный файл. В каждой системе мне нужно явно исходить из .bash_profile, даже если я запускаю эту команду в моем скрипте bash.

if [[ $update_path == 0 ]]; then
  echo $"export PATH=$PATH:$target" >> ~/.bash_profile # ~/.profile
  source ~/.bash_profile
fi

И я не хочу просить пользователя повторно войти в систему.

0
задан 6 June 2019 в 11:54

1 ответ

Скрипт выполняет source внутри своего контекста.

Как только скрипт заканчивается, его контекст заканчивается им.

  • Таким образом, текущий контекст не содержит содержимого обновленного ~/.bash_profile.

Вам необходимо повторно войти или source ~/.bash_profile снова, чтобы получить обновленную переменную.

3
ответ дан 6 June 2019 в 11:54

Другие вопросы по тегам:

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