Что не так с этим основным сценарием оболочки, экспортирующим что-то - PullRequest
2 голосов
/ 27 октября 2011
$cat test
export var=value
$./test
$echo $var

Я ничего не понимаю. Я ожидал увидеть значение.

1 Ответ

5 голосов
/ 27 октября 2011

В вашем случае test запускается в отдельной оболочке, дочерней по отношению к вашей оболочке. Ребенок никогда не может изменить среду родителя. Поэтому, когда ребенок выходит, var теряется.

Если вы хотите запустить скрипт в текущей оболочке, попробуйте:

source ./test

Кроме того, обычно плохая идея называть ваши сценарии "тестовыми". Многие объединения имеют /usr/bin/test.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...