Antworten:
Unix-Systeme sind in der Regel mit unterschiedlichen Dateitypen organisiert, die auf verschiedene Verzeichnisse verteilt sind. Zum Beispiel ausführbare Dateien sind in der Regel in Verzeichnissen mit dem Namen bin
( /bin
, /usr/bin
, /usr/local/bin
, ...); stand historisch bin
für binary, da es sich bei den ausführbaren Dateien um Binärdateien (Maschinencode) handelt, es kann aber auch Skripte geben. Da es mehrere Verzeichnisse gibt, die ausführbare Dateien enthalten, und es nützlich ist, Verzeichnisse im laufenden Betrieb hinzuzufügen und zu entfernen (z. B. um eine Anwendung mit mehreren ausführbaren Dateien zu testen, fügen Sie sie vorübergehend dem Suchpfad für ausführbare Dateien hinzu), gibt es dafür eine Umgebungsvariable: PATH
. Wenn Sie ein Programm unter Angabe seines Namens ausführen, sucht die Shell es in den in der PATH
Variablen angegebenen Verzeichnissen (eine durch Doppelpunkte getrennte Liste von Verzeichnissen).
Der gleiche Mechanismus existiert für andere Dateitypen, nach denen ein Programm nach Namen suchen wird. Hier sind ein paar typische PATH
Variablen (beachten Sie, dass die von mir angegebenen Beispielpfade nicht genau das sind, was Sie auf Ihrem System finden, sondern nur eine Idee haben).
PATH
: ausführbare Dateien (zB /home/username/bin:/usr/local/bin:/usr/bin:/bin
).MANPATH
: Manualpages (zB /usr/local/man:/usr/man
).LD_LIBRARY_PATH
: Native Code - Bibliotheken (auf Linux enthält der Lookup - Pfad neben den Wert dieser Variablen, in der Regel /usr/local/lib
, /usr/lib
, /lib
und ein paar andere). Der Name LD
kommt von dynamischen l o d er die Systemkomponente , die Lasten in Bibliotheken dynamisch verknüpfte ausführbare Dateien .PERL5LIB
: Perl-Bibliotheken (zB /usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl
).PYTHONPATH
: Python-Bibliotheken (zB /usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6
).TCLLIBPATH
: TCL-Bibliotheken (zB /usr/local/lib/tcltk:/usr/lib/tcltk
).Wenn pkg.tcl
es sich also um eine eigenständige ausführbare Datei handelt, geben Sie ihr Ausführungsberechtigungen und legen Sie sie irgendwo ab $PATH
. Wenn es sich um eine TCL-Bibliothek handelt, die von einem TCL-Programm geladen wurde, legen Sie sie irgendwo ab $TCLLIBPATH
.
PATH
Dient zum Angeben von Verzeichnissen ausführbarer Programme. LD_LIBRARY_PATH
wird verwendet, um Bibliotheksverzeichnisse anzugeben.
PATH
wird es hauptsächlich von der Shell verwendet, während LD_LIBRARY_PATH
es (normalerweise ld-linux.so
) vom dynamischen Lader verwendet wird .
TCLLIBPATH
. Entschuldigung, ich habe kein Argument. Nur ein Hinweis.