Как установить переменную окружения только на время работы скрипта?

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

3 ответа

VAR1=value1 VAR2=value2 myScript args ...
env VAR=value myScript args ...

Просто положи

export HOME=/blah/whatever

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

Другие вопросы по тегам