Où définir les variables d'environnement sous Mac OS X

Sur la ligne de commande, les variables d'environnement sont définies pour le shell en cours et héritées par toute commande ou processus en cours d'exécution. Ils peuvent déterminer tout ce qui concerne le shell par défaut, le PATH, le répertoire de base des utilisateurs, le type d'émulation de terminal, le répertoire de travail actuel, le fichier d'historique, la langue et les paramètres de localisation. des personnalisations à l'invite bash, la sortie colorisée de ls et les modifications apportées à l'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 sur la ligne de commande de Mac OS X.

Affichage de l'environnement actuel et des variables Shell dans Mac OS X

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

printenv

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

set

La sortie de ces commandes peut être longue, vous souhaiterez peut-être rediriger la sortie via les commandes plus ou moins nombreuses.

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

Parce que le Mac utilise par défaut bash shell, vous pouvez définir des variables d'environnement dans les répertoires de l'utilisateur .bash_profile, pour un compte d'utilisateur actif le chemin d'accès à ce fichier est situé à:

~/.bash_profile

Si vous avez modifié votre shell ou si vous n'êtes pas sûr du shell que vous utilisez, vous pouvez toujours vérifier en émettant la commande echo $ SHELL, qui affichera quel shell est utilisé. Nous allons supposer que vous utilisez toujours le shell bash OS X par défaut, donc nous allons 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 allons couvrir nano pour sa simplicité.

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

nano .bash_profile

Vous pouvez ajouter des variables d'environnement et des variables de shell sur de nouvelles lignes. S'il existe déjà des données dans le fichier .bash_profile, assurez-vous d'ajouter de nouvelles variables à une nouvelle ligne en utilisant les touches fléchées et la touche de retour.

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 avons maintenant terminé, enregistrez les modifications apportées à .bash_profile en appuyant sur Ctrl + o (c'est un o comme en otter), puis quittez nano en appuyant sur Ctrl + X

Les modifications et ajouts apportés aux variables d'environnement nécessiteront le redémarrage du shell ou la création d'un nouveau shell.

Définition de variables environnementales 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' en elle-même, bien que celles-ci ne persistent que tant que le shell bash actuel reste actif. Par exemple, si vous voulez ajouter un chemin temporaire à ~ / bin / vous pouvez utiliser la commande suivante:

export PATH=$PATH:~/bin

Encore une fois, la commande 'export' 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 sera pas conservée sauf si vous l'ajoutez au .bash_profile.

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

Au-delà de bash shell, si vous avez changé le shell par défaut de votre application Terminal en passant de bash à tcsh, zsh, sh, ksh, fish ou à tous les autres shells, vous devrez simplement modifier le profil approprié ou le fichier rc pour ce shell spécifique (.tschrc, .cshrc, .profile, etc).