Réponses:
Les systèmes Unix ont tendance à être organisés avec différents types de fichiers répartis sur différents répertoires. Par exemple, sont généralement dans executables répertoires appelés bin
( /bin
, /usr/bin
, /usr/local/bin
, ...); historiquement, bin
signifiait binaire, car les exécutables sont des binaires (code machine), mais il peut aussi y avoir des scripts. Puisqu'il existe plusieurs répertoires qui contiennent des exécutables, et qu'il est utile d'ajouter et de supprimer des répertoires à la volée (par exemple, pour tester une application multi-exécutable, vous l'ajoutez temporairement au chemin de recherche des exécutables), il existe une variable d'environnement pour cela: PATH
. Lorsque vous exécutez un programme en donnant son nom, le shell le recherche dans les répertoires mentionnés dans la PATH
variable (c'est une liste de répertoires séparés par deux-points).
Le même mécanisme existe pour d'autres types de fichiers que certains programmes vont rechercher par nom. Voici quelques PATH
variables typiques (notez que les exemples de chemins que je donne ne sont pas exactement ce que vous trouverez sur votre système, juste là pour donner une idée).
PATH
: exécutables (par exemple /home/username/bin:/usr/local/bin:/usr/bin:/bin
).MANPATH
: pages de manuel (par exemple /usr/local/man:/usr/man
).LD_LIBRARY_PATH
: Les bibliothèques de code natif (sous Linux, en plus de la valeur de cette variable, le chemin recherche contient généralement /usr/local/lib
, /usr/lib
, /lib
et quelques autres). Le nom LD
vient de la dynamique l oa d er , le composant système qui charge les bibliothèques dans des exécutables liés dynamiquement .PERL5LIB
: Bibliothèques Perl (par exemple /usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl
).PYTHONPATH
: Bibliothèques Python (par exemple /usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6
).TCLLIBPATH
: Bibliothèques TCL (par exemple /usr/local/lib/tcltk:/usr/lib/tcltk
).Donc, si vous pkg.tcl
êtes un exécutable autonome, donnez-lui des autorisations d'exécution et déposez-le quelque part $PATH
. S'il s'agit d'une bibliothèque TCL chargée par un programme TCL, déposez-la quelque part $TCLLIBPATH
.
PATH
sert à spécifier les répertoires des programmes exécutables. LD_LIBRARY_PATH
est utilisé pour spécifier les répertoires des bibliothèques.
PATH
est utilisé principalement par le shell, tandis que LD_LIBRARY_PATH
par le chargeur dynamique (généralement ld-linux.so
).
TCLLIBPATH
. Désolé, je n'ai aucun argument. Juste un indice.