Comment ajouter un répertoire à PATH sous Linux [Quick Tip]

La variable PATH sous Linux stocke le chemin d’accès aux répertoires où elle doit rechercher les exécutables lorsque vous exécutez une commande.

[email protected]:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Comme vous pouvez le voir, le PATH se compose de plusieurs répertoires (comme /usr/local/sbin, /usr/bin et plus) séparés par deux points (:).

Si vous souhaitez exécuter des exécutables en tant que commande depuis n’importe où dans le système, vous devez ajouter leur emplacement dans la variable PATH.

Ceci est courant lors de la configuration d’un environnement de développement. Pour example, imaginez que vous avez téléchargé et installé Java et Maven. Pour que vos programmes fonctionnent correctement, vous devrez spécifier l’emplacement des binaires de Maven et Java dans le PATH.

Ce didacticiel rapide concerne la configuration de PATH sous Linux. Outre les étapes, je mentionnerai également des éléments auxquels vous devez faire attention lorsque vous traitez avec PATH.

Ajout d’un répertoire à PATH sous Linux

Le processus pour ajouter un nouveau répertoire à la variable PATH sous Linux est essentiellement le suivant :

export PATH=$PATH:your_directory

your_directory est le chemin absolu vers l’annuaire concerné.

Disons que vous téléchargez et extrayez Maven dans le répertoire personnel et que vous souhaitez ajouter son répertoire bin au PATH. Supposons que le chemin absolu de ce répertoire bin est /home/abhishek/maven/apache-maven-3.8.0/bin.

Voici ce que vous devriez faire :

export CHEMIN=$CHEMIN:/home/abhishek/maven/apache-maven-3.8.0/bin

export PATH=$PATH:/home/abhishek/maven/apache-maven-3.8.0/bin

Choses à faire attention ici:

  • Le $ avant un nom de variable signifie que vous faites référence à sa valeur. PATH est le nom de la variable, $PATH est la valeur de la variable PATH.
  • Vous ne devez pas utiliser $ avec PATH sur le côté gauche de =
  • Il ne doit pas y avoir d’espace avant et après =
  • N’oubliez pas d’inclure le : après $PATH car les répertoires du PATH sont séparés par deux points.
  • Il ne doit pas y avoir d’espace avant et après les deux points (:).

Une fois que vous avez défini le PATH avec la nouvelle valeur, veuillez vérifier que le PATH a été correctement mis à jour.

[email protected]:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/abhishek/maven/apache-maven-3.8.0/bin

Vous souhaiterez peut-être exécuter la commande ou le script pour lequel vous avez modifié le PATH. Cela vous dira avec certitude si le PATH est correctement défini maintenant.

Rendre permanentes les modifications apportées à PATH

Vous avez ajouté le répertoire souhaité à la variable PATH mais la modification est temporaire. Si vous quittez le terminal, quittez la session ou vous déconnectez du système, le PATH sera rétabli et les modifications seront perdues.

Si vous souhaitez que les modifications apportées à la variable PATH soient permanentes pour vous-même, vous pouvez l’ajouter au fichier .bashrc dans votre répertoire personnel, en supposant que vous utilisez le shell Bash.

Vous pouvez utiliser un éditeur de texte comme Nano ou Vim pour cette tâche.

nano ~/.bashrc

Si vous souhaitez que la variable PATH modifiée soit disponible pour tout le monde sur le système Linux, vous pouvez ajouter l’exportation au fichier /etc/profile. Cela convient lorsque vous êtes un administrateur système et que vous disposez d’un système configuré avec un chemin personnalisé.

Astuce bonus : les répertoires sont prioritaires dans PATH

Il existe plusieurs répertoires dans la variable PATH. Lorsque vous exécutez un fichier/une commande exécutable, votre système examine les répertoires dans le même ordre qu’ils sont mentionnés dans la variable PATH.

Si /usr/local/sbin précède /usr/bin, l’exécutable est recherché en premier dans /usr/local/sbin. Si l’exécutable est trouvé, la recherche se termine et l’exécutable est exécuté.

C’est pourquoi vous trouverez quelques exemples où le répertoire supplémentaire est ajouté avant tout le reste dans PATH :

export PATH=your_directory:$PATH

Si vous pensez que votre répertoire supplémentaire doit être recherché avant tout le reste, vous devez l’ajouter avant $PATH, sinon ajoutez-le après $PATH.

Était-ce assez clair ?

J’ai essayé d’expliquer les choses avec les détails nécessaires mais sans entrer trop profondément dans les détails. Asseyez-vous pour clarifier le sujet ou êtes-vous plus confus qu’avant ? Si vous avez encore des doutes, faites-le moi savoir dans les commentaires.