Comment définir la variable $ PATH sous Linux

La variable $PATH est un composant crucial sur Linux et d'autres systèmes d'exploitation de type Unix. Il spécifie une liste de répertoires contenant divers exécutables sur le système et indique au shell où rechercher ces fichiers exécutables.

Sur une nouvelle installation Linux, les répertoires inclus dans $PATH garantissent que la plupart des programmes que vous exécutez fonctionnent parfaitement. Cependant, il peut arriver que vous souhaitiez exécuter rapidement des scripts ou des programmes personnalisés sur votre système.

Dans de tels cas, vous devez définir la variable $PATH de manière appropriée avant d'exécuter ces programmes.

Qu'est-ce que $PATH sous Linux ?

Comme mentionné ci-dessus, $PATH est une variable d'environnement dans Linux, qui comprend une liste de répertoires séparés par des deux-points auxquels le shell Linux fait référence lorsqu'il reçoit une commande ou un appel exec d'un programme.

En règle générale, la variable $PATH inclut les répertoires /bin , /usr/bin et /usr/local/bin , le superutilisateur obtenant deux entrées supplémentaires, à savoir /sbin et /usr/sbin . Cependant, vous pouvez ajouter de nouvelles entrées à votre variable $PATH pour lancer facilement des scripts et des programmes à partir du terminal, quel que soit le répertoire de travail actuel.

Pourquoi voudriez-vous définir $PATH ?

Dans l'ensemble, la plupart des programmes que vous exécuterez sur votre système Linux fonctionneront parfaitement et votre shell ne présentera aucune erreur au moment de leur exécution. Par exemple, lorsque vous exécutez la commande ls , le shell l'exécute sans erreur sans vous obliger à spécifier le chemin complet de la commande.

Cependant, lorsque vous devez exécuter un script personnalisé, vous ne pouvez pas déclarer la commande exec comme vous le faisiez auparavant avec la commande ls . Au lieu de cela, vous devrez soit naviguer vers le répertoire du script (via un terminal) et exécuter la commande à partir de là, soit, si vous souhaitez avoir la possibilité d'exécuter la commande depuis n'importe où sur le système, spécifier le chemin absolu du script dans la commande pour aider le shell à le localiser.

Connexe: Comment changer de répertoire sous Linux à l'aide de la commande cd

Bien que ces deux méthodes fonctionnent bien, elles ne sont pas très efficaces et peuvent rapidement faire de l'ensemble du processus une routine fastidieuse. Un moyen alternatif (efficace et efficace en lecture) d'exécuter des programmes à partir de répertoires non standard consiste à ajouter leur répertoire source au $PATH de votre shell afin qu'il sache où trouver le script et puisse donc les exécuter rapidement.

Comment définir la variable $ PATH sous Linux

Selon ce que vous voulez réaliser — qu'il s'agisse d'une configuration temporaire pour exécuter un script une seule fois ou que vous prévoyiez d'utiliser le script régulièrement — il existe différentes manières d'ajouter un répertoire à votre $PATH.

1. Définir la variable $PATH temporairement

Si vous souhaitez exécuter un script ou un programme uniquement dans votre session actuelle (active), vous pouvez choisir de définir une variable $PATH temporaire. Lorsque vous le faites, vous pourrez exécuter ce programme avec une commande depuis n'importe où sur votre système sans avoir à inclure son chemin complet dans la commande, mais uniquement dans la session en cours.

Pour définir temporairement une variable $PATH, ouvrez le terminal et utilisez la syntaxe suivante pour ajouter des répertoires à la variable :

 export PATH=$PATH:/path/to/directory

Par example:

 export PATH=$PATH:/home/smithy/scripts/

Notez qu'avec cette configuration, vous ne pouvez exécuter le programme que dans votre session active. Lorsque vous définissez temporairement votre variable $PATH, le système la réinitialise aux paramètres par défaut après le redémarrage de votre ordinateur.

2. Définir une variable $PATH permanente

S'il y a un programme sur votre système que vous êtes susceptible d'utiliser fréquemment, vous devez définir la variable $PATH pour lui de façon permanente. Cela garantira que votre shell se souviendra de son répertoire même après un redémarrage.

Contrairement à la solution temporaire, cependant, la définition permanente de $PATH implique quelques étapes supplémentaires : identifiez le shell que vous utilisez, modifiez le fichier de configuration correspondant et définissez-y la variable $PATH.

Pour identifier le shell sur votre système, exécutez la commande suivante dans le terminal :

 echo $0

Vous devriez voir le nom de votre shell actif en sortie. Dans la plupart des cas, il s'agira du shell Bash , à moins que vous ne l'ayez remplacé par Zsh, Ksh ou un autre shell Linux.

Maintenant, en fonction du shell que vous utilisez, vous devrez modifier son fichier de configuration. Voici le fichier que vous devez modifier en fonction de votre shell :

Nom de la coque Fichier de configuration
frapper ~/.bashrc
ksh ~/.kshrc
zsh ~/.zshrc
csh ~/.cshrc

Dans le cas d'un autre shell, consultez sa documentation pour connaître le nom de son fichier de configuration.

Une fois que vous avez déterminé le fichier que vous devez modifier, suivez les étapes ci-dessous pour définir la variable $PATH. Dans ce guide, nous montrerons comment configurer la variable $PATH dans le shell Bash.

  1. Ouvrez le terminal et entrez la commande suivante pour ouvrir le fichier .bashrc . Vous pouvez utiliser n'importe quel éditeur de texte Linux de votre choix.
     nano ~/.bashrc
  2. Utilisez la syntaxe suivante pour définir la variable $PATH.
     export PATH=$PATH:/path/to/directory/
  3. Enregistrez le fichier et mettez à jour l'environnement shell actuel à l'aide de source .
     source ~/.bashrc
  4. Tapez la commande suivante pour vérifier si le répertoire a été ajouté ou non.
     echo $PATH

Si vous avez entré correctement le chemin du répertoire, cela se reflétera dans le $PATH de votre système et vous devriez pouvoir exécuter tous les scripts à l'intérieur du dossier à partir de n'importe quel répertoire de votre système.

En outre, Linux vous permet également de définir la variable $PATH de manière permanente dans une configuration à l'échelle du système afin que chaque utilisateur de votre système puisse accéder et exécuter les scripts personnalisés présents dans le répertoire spécifié.

Pour définir $PATH globalement, vous devrez ajouter le répertoire à l'aide de la même commande que celle que vous avez utilisée lors de l'ajout d'une configuration temporaire et permanente, mais soit dans le fichier /etc/environment , soit dans le fichier /etc/profile .

Ouvrez l'un de ces fichiers et ajoutez le chemin du répertoire :

 nano /etc/environment
nano /etc/profile

Configuration réussie du $PATH sous Linux

Avec les étapes ci-dessus, vous pouvez définir le $PATH de votre système pour rechercher des scripts dans des répertoires qui, sinon, ne sont pas spécifiés.

Dans la plupart des cas, nous vous recommandons de définir la variable $PATH sur votre système de manière permanente dans une configuration par utilisateur car c'est le moyen le plus efficace, parmi les deux méthodes.

De plus, gardez à l'esprit qu'à moins qu'il n'y ait un programme spécifique sur votre système auquel vous souhaitez accéder globalement, vous n'auriez pas besoin de définir la variable $PATH dans une configuration à l'échelle du système. Les commandes de localisation et de recherche sous Linux vous sauvent la vie si vous rencontrez des problèmes lors de la recherche du répertoire source à ajouter à la variable $PATH.