Rendre ses scripts acces­sibles de n’im­porte où

Tous ceux qui ont déjà créé des scripts Bash savent combien il est éner­vant de devoir soit se placer dans le dossier conte­nant le script en ques­tion, soit écrire le chemin complet vers le script pour l’exé­cu­ter. Or il est possible d’exé­cu­ter ses scripts depuis n’im­porte quel empla­ce­ment dans l’ar­bo­res­cence, simple­ment en disant à GNU/Linux où il doit cher­cher.

Un peu de théo­rie…

Afin d’exé­cu­ter des scripts et a fortiori des programmes, GNU/Linux regarde des dossiers spéci­fiques pour trou­ver les exécu­tables. Ces dossiers sont conte­nus dans la variable d’en­vi­ron­ne­ment $PATH. Afin d’af­fi­cher cette variable et savoir quels sont les dossiers parcou­rus, tapez la commande suivant dans un termi­nal :

$ echo $PATH

Les dossiers parcou­rus sont sépa­rés par le carac­tère “:”. Si vous voulez les voir s’af­fi­cher avec un dossier par ligne, vous pouvez écrire la commande suivante :

$ echo $PATH | sed -e "s/:/\n/g"

… et on passe à la pratique

Pour ajou­ter votre (vos) propre(s) dossier(s) à cette liste, il vous faut éditer votre fichier .bashrc. Ajou­tez-y à la fin une des deux lignes suivantes :

  • si vous voulez ajou­ter un seul dossier :
export PATH=$PATH:lien_absolu_vers_votre_dossier
  • si vous voulez en ajou­ter plusieurs, il suffit de sépa­rer les dossier par un “:” de la manière suivante :
export PATH=$PATH:lien_absolu_vers_votre_dossier_1:lien_absolu_vers_votre_dossier_2

Vous auriez pu écrire ces lignes direc­te­ment dans votre termi­nal, mais cela n’au­rait fonc­tionné que pour la session de ce termi­nal. Pensez à relan­cer une instance de termi­nal pour les chan­ge­ments soient pris en compte. À présent, vous pouvez appe­ler vos programmes et scripts shell où que vous vous trou­viez dans l’ar­bo­res­cence de votre ordi­na­teur.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *