В Linux (Ubuntu 11.04) в bash можно ли временно установить переменную среды, которая будет отличаться от обычной переменной на время script? Например, в оболочке script, создав приложение, которое сохраняет в HOME переносной, временно установив HOME в папку в текущем рабочем каталоге, а затем запустив приложение.
Как установить переменную среды только на время script?
Ответ 1
VAR1=value1 VAR2=value2 myScript args ...
Ответ 2
env VAR=value myScript args ...
Ответ 3
Просто поместите
export HOME=/blah/whatever
в точке script, где вы хотите, чтобы это произошло. Поскольку каждый процесс имеет свой собственный набор переменных среды, это определение автоматически перестает иметь какое-либо значение, когда script завершается (и вместе с ним экземпляр bash, который имеет измененную среду).