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