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