GNU/Linux >> Tutoriels Linux >  >> Linux

Comment définir votre variable $PATH sous Linux

Pouvoir modifier votre $PATH est une compétence importante pour tout utilisateur POSIX débutant, que vous utilisiez Linux, BSD ou macOS.

Lorsque vous tapez une commande dans l'invite de commande sous Linux ou dans d'autres systèmes d'exploitation de type Linux, tout ce que vous faites est de lui dire d'exécuter un programme. Même des commandes simples, comme ls , mkdir , rm , et d'autres ne sont que de petits programmes qui résident généralement dans un répertoire de votre ordinateur appelé / usr /bin . Il existe d'autres endroits sur votre système qui contiennent également des programmes exécutables; certains courants incluent / usr /local/bin , / usr /local/ sbin , et / usr / sbin . Quels programmes vivent où, et pourquoi, est au-delà de la portée de cet article, mais sachez qu'un programme exécutable peut vivre pratiquement n'importe où sur votre ordinateur :il n'a pas besoin d'être limité à l'un de ces répertoires.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Lorsque vous tapez une commande dans votre shell Linux, il ne regarde pas dans chaque répertoire pour voir s'il existe un programme portant ce nom. Il ne regarde que ceux que vous spécifiez. Comment sait-il chercher dans les répertoires cités ci-dessus ? C'est simple :ils font partie d'une variable d'environnement, appelée $PATH , que votre shell vérifie afin de savoir où chercher.

Afficher votre CHEMIN

Parfois, vous souhaiterez peut-être installer des programmes dans d'autres emplacements de votre ordinateur, mais vous pourrez les exécuter facilement sans spécifier leur emplacement exact. Vous pouvez le faire facilement en ajoutant un répertoire à votre $PATH . Pour voir ce qu'il y a dans votre $PATH maintenant, tapez ceci dans un terminal :

echo $PATH

Vous verrez probablement les répertoires mentionnés ci-dessus, ainsi que peut-être quelques autres, et ils sont tous séparés par des deux-points. Ajoutons maintenant un autre répertoire à la liste.

Définissez votre CHEMIN

Disons que vous avez écrit un petit script shell appelé hello.sh et placez-le dans un répertoire appelé /place/with/the/file . Ce script fournit des fonctions utiles à tous les fichiers de votre répertoire actuel, que vous aimeriez pouvoir exécuter, quel que soit le répertoire dans lequel vous vous trouvez.

Ajoutez simplement /place/with/the/file au $PATH variable avec la commande suivante :

export PATH=$PATH:/place/with/the/file

Vous devriez maintenant être en mesure d'exécuter le script n'importe où sur votre système en tapant simplement son nom, sans avoir à inclure le chemin complet au fur et à mesure que vous le tapez.

Définissez votre PATH de façon permanente

Mais que se passe-t-il si vous redémarrez votre ordinateur ou créez une nouvelle instance de terminal ? Votre ajout au chemin a disparu ! C'est par conception. La variable $PATH est défini par votre shell à chaque lancement, mais vous pouvez le configurer de manière à ce qu'il inclue toujours votre nouveau chemin à chaque nouveau shell que vous ouvrez. La manière exacte de procéder dépend du shell que vous utilisez.

Vous ne savez pas quel shell vous utilisez ? Si vous utilisez à peu près n'importe quelle distribution Linux courante et que vous n'avez pas modifié les valeurs par défaut, il y a de fortes chances que vous utilisiez Bash. Mais vous pouvez le confirmer avec une simple commande :

echo $0

C'est la commande "echo" suivie d'un signe dollar ($) et d'un zéro. 0 $ représente le segment zéro d'une commande (dans la commande echo $0 , le mot "echo" correspond donc à $1), ou en d'autres termes, la chose qui exécute votre commande. Il s'agit généralement du shell Bash, bien qu'il en existe d'autres, notamment Dash, Zsh, Tcsh, Ksh et Fish.

Pour Bash, il vous suffit d'ajouter la ligne ci-dessus, export PATH=$PATH:/place/with/the/file , au fichier approprié qui sera lu au lancement de votre shell. Il existe plusieurs endroits différents où vous pourriez éventuellement définir le nom de la variable :potentiellement dans un fichier appelé ~/.bash_profile , ~/.bashrc , ou ~/.profile. La différence entre ces fichiers est (principalement) quand ils sont lus par le shell. Si vous ne savez pas où le mettre, ~/.bashrc est un bon choix.

Pour les autres shells, vous voudrez trouver l'endroit approprié pour définir une configuration au démarrage ; La configuration de ksh se trouve généralement dans ~/.kshrc , zsh utilise ~/.zshrc . Consultez la documentation de votre shell pour trouver le fichier qu'il utilise.

C'est une réponse simple, et il y a plus de bizarreries et de détails qui méritent d'être appris. Comme presque tout dans Linux, il y a plus d'une façon de faire les choses, et vous pouvez trouver d'autres réponses qui répondent mieux aux besoins de votre situation ou aux particularités de votre distribution Linux. Bonne piratage et bonne chance, quel que soit votre $PATH peut vous prendre.


Cet article a été initialement publié en juin 2017 et a été mis à jour avec des informations supplémentaires par l'éditeur.


Linux
  1. Apprenez à définir vos variables $PATH de manière permanente sous Linux

  2. Comment Noëlsifier votre terminal et votre shell Linux

  3. Comment définir définitivement $PATH sous Linux

  4. Comment changer de shell sous Linux

  5. Comment définir définitivement $PATH sous Linux/Unix ?

Comment définir/annuler les variables d'environnement sous Linux

Comment stocker une commande Linux en tant que variable dans un script shell

Comment changer un shell d'utilisateurs sous Linux

Comment configurer un démon Rsync sur votre serveur Linux

Comment configurer un pare-feu sur votre serveur Linux

Comment définir $PATH dans le système Linux de manière permanente