Этот вопрос уже Здесь у ady есть ответ:
test.sh:
#!/bin/bash
export test_var=1
Запустите сценарий, затем продолжите выполнение команды в терминале: echo $ test_var
, я ничего не получил. Почему? Поскольку test_var
был экспортирован, я подумал, что могу продолжать использовать переменную в терминале.
экспорт должен позволить подоболочкам наследовать переменную, он не делает ничего, чтобы позволить подоболочке изменять значение в родителе.
Чтобы это изменило Вашу текущую среду оболочки, запустите скрипт или с
. test.sh
или с
source test.sh