Où définir les variables d'environnement dans Mac OS X
En 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. Elles peuvent déterminer n'importe quoi, du shell par défaut, du PATH, du répertoire personnel de l'utilisateur, du type d'émulation de terminal, du répertoire de travail actuel, de l'emplacement d'un fichier d'historique, des paramètres de langue et de localisation, et aller plus loin en incluant des variables de shell, qui comprennent tout, des personnalisations à l'invite de bash, à la sortie colorisée de ls, et aux changements d'apparence du terminal, aux alias, et bien plus encore.
Voyons comment lister les variables d'environnement et de shell, puis comment définir et ajouter de nouvelles variables d'environnement en ligne de commande de Mac OS X.
Affichage de l'environnement actuel et des variables shell sous Mac OS X
Pour obtenir rapidement une liste de variables environnementales , vous pouvez utiliser la commande suivante :
printenv
Si vous souhaitez voir une liste complète des variables shell , la commande "set" peut également être lancée :
set
La sortie de ces commandes peut être longue, vous pouvez donc vouloir faire passer la sortie par un nombre plus ou moins important de commandes.
Définition des variables environnementales dans la ligne de commande de Mac OS X
Comme le Mac utilise par défaut le shell bash, vous pouvez définir des variables d'environnement dans les répertoires utilisateur .bash_profile, pour un compte utilisateur actif, le chemin d'accès à ce fichier est situé à
~/.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 lançant la commande echo $SHELL, qui affichera le shell utilisé. Nous allons supposer que vous utilisez toujours le shell bash par défaut d'OS X, nous ajouterons donc 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, veillez simplement à ajouter de nouvelles variables sur une nouvelle ligne vierge en utilisant les touches fléchées et la touche retour si nécessaire.
Prenons un exemple et disons que nous allons définir les variables environnementales 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 avons maintenant terminé, enregistrez les modifications apportées à .bash_profile en appuyant sur Control+o (c'est un o comme dans otter), puis sortez du nano en appuyant sur Control+X
Les modifications et les ajouts apportés aux variables environnementales nécessiteront le redémarrage de la coquille ou le frai d'une nouvelle coquille.
Définition de variables environnementales temporaires dans 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 que celles-ci ne persistent que tant que le shell bash actuel reste actif. Par exemple, si vous souhaitez ajouter un chemin temporaire vers ~/bin/, vous pouvez utiliser la commande suivante :
export PATH=$PATH:~/bin
Là encore, la commande "export" exécutée seule et non contenue dans le fichier .bash_profile ne sera qu'un paramètre temporaire et la variable d'environnement ne persistera pas à moins que vous ne l'ajoutiez au fichier .bash_profile.
Si vous cherchez vraiment à ajouter un nouveau PATH pour l'utilisation, vous devriez presque certainement l'ajouter à .bash_profile en plaçant la commande d'exportation appropriée dans le fichier.
Au-delà de l'interpréteur de commandes bash, si vous avez changé l'interpréteur de commandes par défaut de votre application Terminal pour tcsh, zsh, sh, ksh, fish ou tout autre interpréteur de commandes alternatif, vous devrez simplement modifier le profil ou le fichier rc approprié pour cet interpréteur de commandes spécifique (.tschrc, .cshrc, .profile, etc).