Utiliser des variables d’environnement dans Terminal sur Mac
Le shell utilise des variables d’environnement pour stocker des informations telles que le nom de l’utilisateur connecté, le nom de l’ordinateur hôte et les chemins par défaut des commandes. Toutes les commandes exécutées dans le shell héritent des variables d’environnement et certaines commandes dépendent de variables d’environnement.
Créez des variables d’environnement et utilisez-les pour contrôler le comportement d’une commande sans la modifier. Par exemple, utilisez une variable d’environnement pour qu’une commande imprime des informations de débogage dans la console.
Pour définir la valeur d’une variable d’environnement, utilisez la commande shell appropriée pour associer le nom d’une variable à une valeur. Par exemple, pour définir la variable PATH sur la valeur /bin:/sbin:/user/bin:/user/sbin:/system/Library/
, saisissez la commande suivante dans une fenêtre Terminal :
% PATH=/bin:/sbin:/user/bin:/user/sbin:/system/Library/ export PATH
Pour voir toutes les variables d’environnement, saisissez :
% env
Lorsque vous lancez une app depuis un shell, l’app hérite d’une bonne partie de l’environnement du shell, notamment des variables d’environnement exportées. Cette forme d’héritage est un moyen utile de configurer l’app dynamiquement. Par exemple, votre app peut rechercher la présence (ou valeur) d’une variable d’environnement et modifier son comportement en conséquence.
Chaque type de shell prend en charge une sémantique différente pour l’exportation de variables d’environnement. Pour en savoir plus, consultez la page man de votre shell favori.
Bien que les processus enfants d’un shell héritent de l’environnement de ce shell, les shells représentent des contextes d’exécution distincts ne partageant pas entre eux des informations sur les environnements. Les variables que vous définissez dans une fenêtre Terminal ne sont pas définies dans les autres fenêtres Terminal.
Une fois une fenêtre Terminal fermée, les variables qui y étaient définies ne sont plus disponibles. Si vous souhaitez qu’une variable soit conservée d’une session à l’autre dans toutes les fenêtres Terminal, définissez-la dans un script de démarrage de shell. Pour en savoir plus sur la modification de votre script de démarrage du shell zsh de manière à conserver les variables et d’autres réglages d’une session à l’autre, consultez la section « Invocation » de la page man zsh.