Comment Ajouter un Nouveau Chemin à la Variable PATH sous Linux


La variable PATH dans un système d’exploitation Linux est une liste de répertoires où le système recherche les commandes exécutables lorsque vous entrez une commande dans le terminal. Parfois, vous pouvez avoir besoin d’ajouter un nouveau chemin à cette variable PATH pour accéder plus facilement à des scripts ou des exécutables personnalisés. Dans cet article, nous allons explorer deux méthodes pour accomplir cette tâche.

Méthode 1 : Ajouter le Script dans le Dossier ‘bin’

La première méthode consiste à déplacer votre script ou exécutable dans le répertoire /usr/local/bin. Ce répertoire est couramment inclus dans la variable PATH par défaut sur de nombreuses distributions Linux.

Pour ajouter votre script à la variable PATH, suivez ces étapes :

  1. Ouvrez un terminal.
  2. Utilisez la commande suivante pour déplacer votre script (par exemple, monscript.sh) vers le répertoire /usr/local/bin. Vous devrez peut-être utiliser sudo pour avoir les autorisations appropriées.
sudo mv monscript.sh /usr/local/bin/

Maintenant, vous pouvez exécuter monscript.sh de n’importe quel répertoire sans spécifier le chemin complet.

Méthode 2 : Ajouter le Script Symboliquement dans la Variable PATH

Une autre approche consiste à créer un alias pour votre script et à l’ajouter à la variable PATH. Cela peut être utile si vous ne souhaitez pas déplacer le script dans /usr/local/bin ou si vous préférez garder vos scripts dans un autre répertoire.

  1. Ouvrez un terminal.
  2. Utilisez la commande suivante pour créer un alias pour votre script. Par exemple, si votre script s’appelle monscript.sh :
alias monscript='/usr/local/bin/monscript.sh'

Pour rendre cet alias permanent, vous pouvez l’ajouter à votre fichier de configuration de shell (comme .bashrc ou .zshrc).

Maintenant, vous pouvez exécuter votre script en utilisant simplement son nom, comme s’il était dans la variable PATH.

En utilisant l’une de ces méthodes, vous pouvez étendre la variable PATH de votre système Linux pour inclure facilement vos scripts personnalisés ou des exécutables, ce qui simplifie considérablement l’exécution de vos tâches et scripts personnalisés depuis n’importe quel endroit de votre système.

Priorités en Cas de Conflit d’Exécution

En cas de conflit potentiel lors de l’exécution d’une commande, le système Linux suit un ordre de priorité bien défini pour déterminer quelle commande il va exécuter. Supposons que vous ayez un script ou une commande appelé « commande_test », et que vous l’ayez à la fois dans un alias et dans le répertoire /usr/local/bin.

Le système donne la priorité à la commande qui apparaît en premier dans la liste de recherche. Cela signifie que si vous avez défini un alias pour « commande_test », et que cet alias est activé dans l’environnement actuel de la console, le système exécutera d’abord cette commande. Si aucun alias correspondant n’est trouvé, le système recherchera ensuite la commande dans les répertoires répertoriés dans la variable PATH. Ainsi, si « commande_test » se trouve également dans /usr/local/bin, c’est cette version qui sera exécutée si elle n’est pas trouvée dans les alias.

Il est essentiel de comprendre cette priorité pour éviter des comportements inattendus et garantir que le système exécute la commande que vous attendez. Vous pouvez également utiliser la commande which pour déterminer l’emplacement de la commande qui sera exécutée en premier.

Exemple concret avec la commande which

Supposons que vous ayez deux versions de Python installées sur votre système, l’une dans /usr/bin/python3 et l’autre dans /usr/local/bin/python3. Vous souhaitez savoir quelle version sera exécutée lorsque vous entrez simplement la commande python3 dans votre terminal.

Vous pouvez utiliser la commande which comme suit :

which python3

En comprenant ces priorités, vous pouvez mieux gérer les conflits potentiels et vous assurer que vos commandes sont exécutées conformément à vos attentes.

Le résultat vous montrera le chemin de la version de Python3 qui sera exécutée en premier lorsque vous tapez python3 dans le terminal.

/usr/local/bin/python3

Cela signifie que la version de Python3 située dans /usr/local/bin est celle qui sera exécutée en priorité lorsque vous entrez python3 dans la ligne de commande.