OS X Modifier votre variable d'environnement PATH

Lorsque vous exécutez une commande à partir d'un shell UNIX ou de type UNIX, le shell recherche le fichier exécutable à l'aide des répertoires répertoriés dans votre variable PATH en tant que mappage. Pour plus de commodité, l'ajout de répertoires à cette variable d'environnement signifie que vous n'avez pas à rechercher un fichier à chaque fois que vous l'exécutez. En suivant ces instructions, vous pourrez ajouter un répertoire à la recherche PATH.


Pour changer votre chemin, vous devez éditer le fichier .profile dans votre répertoire personnel. Si vous êtes à l'aise avec l'éditeur vi, vous n'avez probablement pas besoin de lire davantage. Sinon, vous pouvez utiliser TextEdit pour modifier votre fichier .profile.

Le .profile par défaut est assez court. Le fichier .profile est lu lorsque vous ouvrez une fenêtre de terminal et chaque ligne est exécutée exactement comme si vous tapiez une commande dans la fenêtre de terminal. Bien que cela soit pratique car vous pouvez exécuter n'importe quelle commande disponible chaque fois que vous passez dans un shell, nous nous intéressons à la modification d'une variable d'environnement, PATH.

Dans votre éditeur, recherchez la ligne commençant par export PATH = et jetez un coup d'oeil pour vous assurer qu'il ne contient pas déjà le chemin du répertoire que vous allez ajouter. Parfois, la variable PATH peut être longue, mais il est probable que le vôtre ne comporte que quelques répertoires séparés par des deux points, par exemple:

export PATH = / opt / local / bin: / opt / local / sbin: $ PATH

Il y a quelques points à noter avant de faire des changements. Le format de cette ligne est important. L'utilisation des espaces dans cette commande, ou leur manque, est importante. En particulier, il ne peut pas y avoir d'espaces autour du signe égal ou entre les répertoires. S'il y a des espaces dans le nom du répertoire que vous souhaitez ajouter, vous devrez l'échapper en le précédant d'un \ backslash ou en mettant le chemin entre guillemets (export PATH = "/ chemin / ici").

le export = mot-clé en face de cette ligne a un but très spécifique. Définir une variable sans l'exporter la rend disponible uniquement pour le shell actuel, pas pour les shells suivants. Vous pouvez penser à vous-même que vous n'avez pas l'intention de créer d'autres shells, mais cela se produit chaque fois que vous exécutez un script shell. Si la variable PATH n'a pas été exportée, lorsque vous exécutez un script shell, ce dernier n'existe plus et il est possible que le script échoue.

Le $ PATH à la fin de l'exemple ci-dessus pointe la valeur précédente de la variable (si elle existe) sur la fin du PATH. Par défaut, ceci ajoutera ': / bin: / sbin: / usr / bin: / usr / sbin' à la fin du chemin PATH pour vous, ce qui est utile car presque tout ce que vous exécutez à partir de la ligne de commande y réside.

Donc, pour ajouter un nouveau répertoire au chemin, ajoutez-le simplement à la ligne PATH existante dans .profile en prenant soin de le séparer des autres répertoires avec des deux points et en veillant à ne pas introduire d'espaces non désirés (tout ce qui sera ignoré après cet espace sera ignoré). Par exemple, pour ajouter le répertoire / mightyq / bin au chemin PATH présenté ci-dessus, la ligne peut devenir l'un des exemples suivants:

export PATH = / mightyq / bin: / opt / local / bin: / opt / local / sbin: $ PATH
export PATH = / opt / local / bin: / mightyq / bin: / opt / local / sbin: $ PATH
export PATH = / opt / local / bin: / opt / local / sbin: $ PATH: / mightyq / bin

Notez que dans le troisième exemple, le nouveau répertoire est ajouté à la fin du PATH. Vous avez la possibilité d'optimiser les recherches que votre shell effectuera pour vous à chaque fois que vous exécuterez une commande en organisant votre PATH de manière logique. Ajouter des répertoires moins fréquemment utilisés ou très volumineux plus tard dans le chemin peut vous donner un petit coup de pouce en performances (bien que les choses soient assez rapides de nos jours, vous devez donc être un peu anal pour en profiter vraiment).

Si vous n'avez pas besoin d'un répertoire dans votre chemin, vous pouvez inverser le processus en supprimant le répertoire indésirable tout en veillant à préserver les règles de séparation sans espaces ni points.

Une dernière remarque, pour tester les modifications que vous avez apportées, vous pouvez utiliser la commande echo, mais vous devez d'abord faire en sorte que le shell recharge le fichier .profile. En supposant que vous soyez dans votre répertoire personnel (sinon, lancer 'cd' sans aucune option vous y mènera), lancez ces commandes:

… /.profil
echo $ PATH

La première est une petite commande soignée dans la mesure où elle montre trois utilisations ou interprétations de la période sur une seule ligne. La première . est un raccourci pour que le shell «source» ou charge le contenu du fichier suivant tel quel, de la même manière que le shell utilise lorsque vous vous connectez à un système ou ouvrez une fenêtre de terminal. Si vous exécutiez simplement ces commandes comme un script shell (bash .profile, par exemple), vous lanceriez un nouveau shell, ce dernier obtiendrait la variable définie et, à la fin de l'exécution du script .profile, ce nouveau shell cesserait de fonctionner. existent et les variables nouvellement définies seraient reléguées dans l’univers de la chaussette manquant.

La deuxième période correspond au répertoire de travail en cours. Ce n'est pas obligatoire dans cette commande, mais c'est une habitude d'expliquer les points aux gens, donc je le tape tout le temps maintenant. Dans ce contexte, vous pouvez également utiliser ~ / .profile car ~ signifie explicitement votre répertoire personnel.

Le dernier point fait en sorte que le .profile soit masqué dans une liste de répertoires normale ou une vue du Finder. Cela ne change pas le fichier d'une autre manière, il le rend juste invisible et désencombre vos répertoires. Pour voir les fichiers cachés, vous pouvez utiliser 'ls -a' et vous pourriez être surpris par ce que vous trouvez.