35 votes

Un moyen plus confortable d'éditer un long $PATH ?

Je veux ajouter, dans ~/.bashrc, quelques répertoires à mon $PATH.

Mon $PATH est assez long et il est un peu difficile de voir quels répertoires il contient et dans quel ordre.

Je sais que je peux modifier mon ~/.bashrc pour être :

PATH=$PATH:/some/dir
PATH=$PATH:/another/dir:/yet/another
PATH=$PATH:/and/another
...

ça serait plus facile à lire. Mais je me demandais si, au cours des dernières années, Bash avait acquis une syntaxe qui facilite la spécification d'un long PATH. Par exemple, je fantasme sur une syntaxe similaire à :

PATH=:((
  /some/dir
  /another/dir
  /yet/another
  /and/another
  ...
))

I connaître une telle syntaxe n'est pas valide. Je me demandais s'il existait quelque chose d'aussi simple. Existe-t-il ?

-1voto

waltinator Points 159

Il existe un moyen simple ! Lire Shell et variables de chemins d'accès sur Linux Journal , le 01 mars 2000 par Stephen Collyer

Ces fonctions me permettent d'utiliser un nouveau type de données dans mon environnement bash - la liste séparée par deux points. En plus de PATH, je les utilise pour ajuster mes LOCATE_PATH, MANPATH, et autres, et comme type de données général dans la programmation bash. Voici comment je configure mon PATH (en utilisant les fonctions) :

# Add my bin directory to $PATH at the beginning, so it overrides 
addpath -f -p PATH $HOME/bin

# For Raspberry Pi development (add at end)
addpath -b -p PATH ${HOME}/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

# remove nonexistent directories from PATH
delpath -n -p PATH

# ensure PATH contains unique entries
uniqpath -p PATH

Comme le lien du Linux Journal est considéré comme "cassé", j'ai placé les fonctions de chemin Bash dans un fichier .shar à l'adresse suivante http://pastebin.ubuntu.com/13299528/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X