Où définir les variables d'environnement sur Mac

Anonim

Sur la ligne de commande, les variables d'environnement sont définies pour le shell actuel et sont héritées par toute commande ou processus en cours d'exécution. Ils peuvent déterminer n'importe quoi depuis le shell par défaut, le PATH, le répertoire d'accueil des utilisateurs, le type d'émulation de terminal, le répertoire de travail actuel, l'emplacement d'un fichier d'historique, les paramètres de langue et de localisation, et aller plus loin pour inclure des variables de shell, qui incluent tout des personnalisations à l'invite bash, à la sortie ls colorisée et aux changements d'apparence du terminal, aux alias, et bien plus encore.

Décrivons comment lister les variables d'environnement et de shell, puis comment définir et ajouter de nouvelles variables d'environnement à la ligne de commande de Mac OS X. Nous couvrirons cela pour les shells bash et zsh.

Affichage des variables d'environnement et de shell actuelles dans bash sur Mac OS X

Pour rapidement obtenir une liste des variables d'environnement, vous pouvez utiliser la commande suivante avec bash :

printenv

Pour répertorier les variables d'environnement dans zsh, utilisez la commande suivante : env

Ou éventuellement :

écho $ENV_VAR

Si vous voulez voir une liste complète des variables shell, la commande 'set' peut également être émise :

Positionner

La sortie de ces commandes peut être longue, vous pouvez donc diriger la sortie vers les commandes less ou more.

Définition des variables d'environnement dans la ligne de commande macOS avec zsh

Le shell zsh définit les variables d'environnement via le fichier zshenv, situé dans le répertoire d'accueil des utilisateurs à :

~/.zshenv

Ainsi, vous pouvez ajouter des variables d'environnement zsh en modifiant ce fichier avec nano, vim, etc., ou en utilisant echo comme ceci :

echo 'export ENV_VAR=example' >> ~/.zshenv

Par exemple:

echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv

Définition des variables d'environnement dans la ligne de commande de Mac OS X avec bash

Étant donné que le Mac utilise par défaut le shell bash, vous pouvez définir des variables d'environnement dans les répertoires d'utilisateurs .bash_profile, pour un compte d'utilisateur actif, le chemin d'accès à ce fichier se trouve à :

~/.bash_profile

Si vous avez changé de shell ou si vous n'êtes pas sûr du shell que vous utilisez, vous pouvez toujours vérifier en exécutant la commande echo $SHELL, qui affichera quel shell est utilisé. Nous allons supposer que vous utilisez toujours le shell bash par défaut d'OS X, nous allons donc ajouter de nouvelles variables d'environnement en modifiant .bash_profile avec nano - vous pouvez utiliser vi, emacs ou un autre éditeur de texte si vous le souhaitez, mais nous couvrirons nano pour sa simplicité.

Commencez par ouvrir .bash_profile dans l'éditeur de texte nano :

nano .bash_profile

Vous pouvez ajouter des variables d'environnement et des variables shell sur de nouvelles lignes, s'il y a déjà des données dans le fichier .bash_profile, assurez-vous simplement d'ajouter de nouvelles variables à une nouvelle ligne vide en utilisant les touches fléchées et le touche retour si nécessaire.

Prenons un exemple et disons que nous allons définir les variables d'environnement JAVA_HOME et JRE_HOME dans .bash_profile en ajoutant ce qui suit aux nouvelles lignes du fichier :

export JAVA_HOME=$(/usr/libexec/java_home) export JRE_HOME=$(/usr/libexec/java_home)

En supposant que nous ayons terminé, enregistrez les modifications apportées à .bash_profile en appuyant sur Control+o (c'est un o comme dans otter), puis quittez nano en appuyant sur Control+X

Les modifications et les ajouts apportés aux variables d'environnement nécessiteront le redémarrage du shell ou l'apparition d'un nouveau shell.

Définition de variables d'environnement temporaires sous OS X

Il convient de mentionner que vous pouvez également définir des variables d'environnement temporaires dans bash en utilisant la commande "export" seule, bien qu'elles ne persistent que tant que le shell bash actuel reste actif. Par exemple, si vous souhaitez ajouter un chemin temporaire à ~/bin/, vous pouvez utiliser la commande suivante :

export PATH=$PATH:~/bin

Encore une fois, la commande "exporter" exécutée par elle-même et non contenue dans .bash_profile ne sera qu'un paramètre temporaire et la variable d'environnement ne persistera que si vous l'ajoutez au .bash_profile.

Si vous cherchez réellement à ajouter un nouveau PATH à utiliser, vous devriez presque certainement l'ajouter à .bash_profile en plaçant la commande d'exportation appropriée dans le fichier.

Au-delà du shell bash, si vous avez changé le shell par défaut de votre application Terminal de bash en tcsh, zsh, sh, ksh, fish ou l'un des autres shells alternatifs, vous aurez simplement besoin pour modifier le profil approprié ou le fichier rc pour ce shell spécifique (.tschrc, .cshrc, .profile, etc.).

Où définir les variables d'environnement sur Mac