102 votes

Comment ajouter une variable d'environnement permanente dans zsh

J'ai parcouru l'Internet et je n'ai pas réussi à trouver une solution pour ajouter de façon permanente une variable d'environnement, en particulier lorsque mon système d'exploitation est MacOS Mojave (10.14). Il semble qu'il y ait beaucoup de tutoriels pour les versions antérieures de l'OS, mais aucun pour celle-ci. Il semble également que toutes les anciennes méthodes soient devenues obsolètes.

Je veux ajouter une variable d'environnement ENV_VAR=12345 sur mon Mac, afin que je puisse l'importer dans un module Python en utilisant os.environ['ENV_VAR']

Le tutoriel le plus pertinent que j'ai trouvé est este mais ça ne fait pas l'affaire pour moi. Beaucoup d'autres vous disent comment ajouter temporairement des variables d'environnement à bash, mais je ne pense pas que ce soit suffisant. Je veux que l'ajout soit présent si vous redémarrez le terminal.

Pouvez-vous fournir un court tutoriel ou m'indiquer le tutoriel correct/moderne ?

UPDATE : J'aurais dû mentionner que j'utilise zsh . C'était la clé.

0voto

Tim Campbell Points 465

Les noms de fichiers utilisés pour définir les variables d'environnement diffèrent en fonction de l'interpréteur de commandes que vous utilisez. Par défaut, le mac attribue l'interpréteur de commandes bash aux nouveaux utilisateurs. echo $SHELL si vous n'êtes pas sûr.

À partir de là, consultez la page de manuel, par exemple : man bash et il documentera les fichiers qu'il exécutera au moment de l'exécution. Vous pouvez ajouter une variable d'environnement à l'un de ces fichiers.

Pour bash, assurez-vous que vous export la variable ou elle ne sera pas héritée par un processus enfant, par exemple : export ENV_VAR=12345 o ENV_VAR=12345; export ENV_VAR

-1voto

UPDATE : lire les commentaires de la réponse de @slm. J'aurais dû éditer ~/.zshrc pas ~/.bash_profile parce que j'utilise zsh. Plus on en sait, plus on en sait ! La réponse ci-dessous semble également fonctionner, mais c'est un peu compliqué.


Grâce à @Tim Campbell et @slm, j'ai réussi à faire fonctionner quelque chose.

Contexte

echo $0 sorties -zsh

echo $SHELL sorties /bin/zsh

echo $PATH sorties /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin


Ma solution "Hacky

J'ai fait un shell script configure_env.sh et le mettre dans ~/Documents

#!/bin/zsh
export ENV_VAR=12345

J'ai ensuite couru chmod +x ~/Documents/configure_env.sh

J'ai alors fait nano ~/.bash_profile et ajouté source ~/Documents/configure_env.sh

Ensuite, quand j'ai tapé echo $ENV_VAR il a retourné 12345

) merci encore à Stack Overflow !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X