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.
VAR1=value1 VAR2=value2 myScript args ...
env VAR=value myScript args ...
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é).