La variable d'environnement Linux Path

Niraj Menon 30 janvier 2023
  1. Utilisation de PATH sous Linux
  2. Façons d’ajouter à l’environnement PATH sous Linux
La variable d'environnement Linux Path

Sous Linux, la variable environnement PATH détermine l’emplacement des programmes. Il s’agit d’une liste de chemins de fichiers vers des répertoires où sont placés des fichiers binaires ou des liens symboliques. Quand une invocation de programme est entrée, le shell courant cherchera dans PATH le binaire correspondant.

Cet article explique comment modifier la variable d’environnement PATH pour rechercher des programmes qui ne se trouvent pas à un emplacement spécifique du système de fichiers, en supposant une ligne de commande du shell Bash.

Utilisation de PATH sous Linux

Par défaut, le shell que vous utilisez regardera la variable d’environnement PATH pour localiser les commandes dans les répertoires spécifiés par PATH.

Par exemple, si vous avez tapé cat, un utilitaire Linux courant, le shell recherchera généralement dans des répertoires comme /usr/bin, /usr/local/bin, /usr/sbin, à la recherche d’un programme nommé cat, et exécutez-le.

Façons d’ajouter à l’environnement PATH sous Linux

Parfois, vous pouvez avoir des programmes que vous avez installés dans des emplacements de votre système qui ne sont généralement pas sur le PATH, comme votre dossier personnel, dans une situation où vous n’avez pas d’accès root pour installer dans des emplacements comme /usr/bin. Pour ce faire, vous pouvez ajouter un chemin à la variable d’environnement PATH.

Supposons que vous vouliez ajouter le chemin /home/$USER/local/bin - où $USER est une variable shell contenant votre nom d’utilisateur et est prédéfinie chaque fois que vous démarrez une nouvelle session shell - au PATH de l’environnement.

Dans Bash, vous pouvez le faire avec les éléments suivants :

export PATH=/home/$USER/local/bin:$PATH

La commande export garantit que le PATH modifié sera exporté vers tous les sous-shells ou autres commandes enfant invoquées dans le shell actuel.

L’utilisation de export est généralement l’option la plus sûre, sauf si vous avez seulement besoin de modifier le PATH pour le shell actuel, mais d’invoquer un processus enfant qui utilise l’ancienne valeur PATH. Gardez à l’esprit que vous ne devez ajouter que le répertoire dans lequel la commande est contenue, et non le chemin d’accès réel à la commande elle-même.

Vous pouvez également choisir de définir PATH sans exporter d’abord, exécuter la commande, puis exporter le nouveau PATH une fois la commande terminée, comme indiqué :

PATH=/home/$USER/local/bin:$PATH
command-that-uses-old-PATH
export PATH

Si vous avez besoin d’utiliser des variables telles que $USER lors de l’exécution d’un script, vous devez utiliser une chaîne à affecter à PATH, comme indiqué :

export PATH="/home/$USER/local/bin:$PATH"

Dans certaines situations, vous souhaiterez peut-être ajouter le nouveau chemin à PATH au lieu de le préfixer, dans les cas où la priorité de l’emplacement de la commande n’a pas beaucoup d’importance, comme lorsque vous ajoutez une nouvelle commande.

Vous pouvez ajouter à PATH comme suit :

export PATH=$PATH:/path/to/new/program