Je pense comprendre les instructions données dans Comment ajouter un répertoire à PATH? à propos de l’ajout de répertoires à $ PATH. Mais je ne comprends pas comment ajouter des répertoires à $ MANPATH ou $ INFOPATH.
Aussi - en cherchant de l’aide, j’ai remarqué que parfois les instructions disaient export PATH=/usr/share/lib/something:$PATH
et parfois elles disaient export PATH=$PATH:/usr/share/lib/something
. Lequel est-ce?
Ces 2 sont presque les mêmes:
export PATH=/usr/share/lib/something:$PATH
export PATH=$PATH:/usr/share/lib/something
La seule différence est que la première place le répertoire à ajouter devant et la seconde derrière les répertoires actuels dans $PATH
. Cela n'a d'importance que s'il existe des commandes dans /usr/share/lib/something
qui portent le même nom dans l'un des répertoires de $PATH
.
Pour ajouter des répertoires à $MANPATH
ou $INFOPATH
comme requis à partir du lien que vous avez posté, vous devez modifier les fichiers de configuration à l'intérieur du lien.
Il est dit d'ouvrir la version globale de bash.bashrc
avec:
Sudo vi /etc/bash.bashrc
et d'ajouter à la fin:
PATH=/usr/local/texlive/2010/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2010/texmf/doc/info:$INFOPATH; export INFOPATH
Ceci définit $PATH
, $MANPATH
et $INFOPATH
. Et il vous indique également de modifier /etc/manpath.config
avec:
Sudo vi /etc/manpath.config
et d'ajouter
MANPATH_MAP /usr/local/texlive/2010/bin/x86_64-linux /usr/local/texlive/2010/texmf/doc/man
sous # set up PATH to MANPATH mapping
.
Si vous n’êtes pas sûr de cela, faites une première sauvegarde (jamais une mauvaise chose) avec:
Sudo cp /etc/bash.bashrc /etc/bash.backup_$(date +"%Y_%m_%d").bashrc
Sudo cp /etc/manpath.config /etc/manpath.backup_$(date +"%Y_%m_%d").config
La chaîne étrange change dans la date actuelle. Si vous vous trompez, copiez simplement la sauvegarde sur le fichier d'origine:
$ touch test1
$ cp test1 test1.$(date +"%Y_%m_%d")
$ ls
test1 test1.2014_11_14
Si vos pages de manuel sont dans /usr/local/myproject/man
, tout ce que vous avez à faire est d’ajouter cela à (la fin de) /etc/manpath.config
:
MANDATORY_MANPATH /usr/local/myproject/man
x:y:z:$PATH
ou$PATH:x:y:z
?
À peine différent. $PATH
contient une liste :
- séparée par des endroits où bash (le shell/terminal) devrait rechercher un programme.
Par exemple, si vous tapez cat
comme le terminal comprend ce que cela signifie, il faut parcourir les premier, deuxième et troisième éléments de $PATH
, puis save le premier emplacement trouvé pour les invocations ultérieures de cat
name__.
Si j'ai deux versions différentes d'un programme à deux endroits différents, l'une d'entre elles étant préférée, et que $PATH
indique au shell de rechercher dans le mauvais ordre, il y a un problème. Sinon, pas de problème.
exportation
Ouvrez un terminal et tapez
echo $a
a=5
echo a
echo $a
Vous verrez que a=5
définit la valeur de la variable et que $a
fait référence au nom de la variable et non à la valeur.
Ouvrez un deuxième terminal et tapez echo $a
. Il devrait être à nouveau vide.
La différence entre export
et assignation (=
) est expliquée ici: https://stackoverflow.com/questions/1158091/defining-a-variable-with-or-without-export .