La variable PATH sous Linux stocke le chemin d'accès aux répertoires où il 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 certains 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. Par exemple, 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 tutoriel rapide concerne la configuration de PATH sous Linux. Outre les étapes, je mentionnerai également les éléments auxquels vous devez faire attention lorsque vous traitez avec PATH.
Ajouter 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
Où your_directory
est le chemin absolu vers le répertoire 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 PATH=$PATH:/home/abhishek/maven/apache-maven-3.8.0/bin
export PATH=$PATH:/home/abhishek/maven/apache-maven-3.8.0/bin
Éléments auxquels prêter attention ici :
- Le $ devant 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 à gauche de =
- Il ne doit y avoir aucun 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 pouvez 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 permanents les changements apportés à 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 déconnectez-vous 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 avez 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 vient avant /usr/bin, l'exécutable est d'abord recherché 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 le $PATH, sinon ajoutez-le après $PATH.
C'était assez clair ?
J'ai essayé d'expliquer les choses avec les détails nécessaires, mais sans aller trop loin dans les détails. Asseyez-vous pour clarifier le sujet ou êtes-vous plus confus qu'avant ? Si vous avez encore des doutes, n'hésitez pas à me le dire dans les commentaires.