Как установить переменную окружения только на время работы скрипта? - PullRequest
94 голосов
/ 20 августа 2011

В Linux (Ubuntu 11.04) в bash, можно ли временно установить переменную окружения, которая будет отличаться от обычной переменной только на время действия сценария? Например, в сценарии оболочки создайте приложение, которое сохраняет в HOME portable, временно установив HOME в папку в текущем рабочем каталоге, а затем запустите приложение.

Ответы [ 3 ]

85 голосов
/ 26 января 2014
VAR1=value1 VAR2=value2 myScript args ...
60 голосов
/ 20 августа 2011
env VAR=value myScript args ...
24 голосов
/ 20 августа 2011

Просто поместите

export HOME=/blah/whatever

в ту точку сценария, где вы хотите, чтобы произошли изменения.Поскольку каждый процесс имеет свой собственный набор переменных среды, это определение автоматически перестанет иметь какое-либо значение после завершения сценария (и вместе с ним экземпляра bash, в котором изменилась среда).

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