web-dev-qa-db-fra.com

Comment définir une variable d'environnement uniquement pour la durée du script?

Sous Linux (Ubuntu 11.04) sous bash, est-il possible de définir temporairement une variable d'environnement qui ne sera différente de la variable normale que pendant la durée du script? Par exemple, dans un script Shell, créez une application qui enregistre sur HOME portable en définissant temporairement HOME dans un dossier du répertoire de travail actuel, puis en lançant l'application.

98
suchipi
VAR1=value1 VAR2=value2 myScript args ...
87
Rockallite
env VAR=value myScript args ...
60
glenn jackman

Il suffit de mettre

export HOME=/blah/whatever

dans le script où vous voulez que le changement se produise. Étant donné que chaque processus a son propre ensemble de variables d’environnement, cette définition cessera automatiquement d’avoir toute signification à la fin du script (et avec elle l’instance de bash dont l’environnement a été modifié).

25
Henning Makholm