У меня есть скрипт, который загружает двоичный файл и обновляет переменную пути, но как только скрипт завершается, и я пытаюсь запустить двоичный файл, он не находит загруженный двоичный файл. В каждой системе мне нужно явно исходить из .bash_profile, даже если я запускаю эту команду в моем скрипте bash.
if [[ $update_path == 0 ]]; then
echo $"export PATH=$PATH:$target" >> ~/.bash_profile # ~/.profile
source ~/.bash_profile
fi
И я не хочу просить пользователя повторно войти в систему.
Скрипт выполняет source
внутри своего контекста.
Как только скрипт заканчивается, его контекст заканчивается им.
~/.bash_profile
. Вам необходимо повторно войти или source
~/.bash_profile
снова, чтобы получить обновленную переменную.