Respuestas:
Los sistemas Unix tienden a organizarse con diferentes tipos de archivos distribuidos en diferentes directorios. Por ejemplo, los ejecutables son por lo general en directorios llamados bin
( /bin
, /usr/bin
, /usr/local/bin
, ...); históricamente, bin
significaba binario, porque los ejecutables son binarios (código de máquina), pero también puede haber scripts. Dado que hay varios directorios que contienen ejecutables, y es útil agregar y eliminar directorios sobre la marcha (por ejemplo, para probar una aplicación multi-ejecutable, lo agrega temporalmente a la ruta de búsqueda de ejecutables), hay una variable de entorno para eso: PATH
. Cuando ejecuta un programa dando su nombre, el shell lo busca en los directorios mencionados en la PATH
variable (es una lista de directorios separados por dos puntos).
El mismo mecanismo existe para otros tipos de archivos que algún programa buscará por nombre. Aquí hay algunas PATH
variables típicas (tenga en cuenta que las rutas de ejemplo que proporciono no son exactamente las que encontrará en su sistema, solo están ahí para dar una idea).
PATH
: ejecutables (por ejemplo /home/username/bin:/usr/local/bin:/usr/bin:/bin
).MANPATH
: páginas del manual (p /usr/local/man:/usr/man
. ej .).LD_LIBRARY_PATH
: Bibliotecas de código nativo (en Linux, además del valor de esta variable, la ruta de búsqueda contiene típicamente /usr/local/lib
, /usr/lib
, /lib
y algunos otros). El nombre LD
proviene de dinámica l OA d er , el componente del sistema que las bibliotecas se carga en ejecutables enlazados dinámicamente .PERL5LIB
: Bibliotecas Perl (por ejemplo /usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl
).PYTHONPATH
: Bibliotecas de Python (por ejemplo /usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6
).TCLLIBPATH
: Bibliotecas TCL (por ejemplo /usr/local/lib/tcltk:/usr/lib/tcltk
).Entonces, si su pkg.tcl
es un ejecutable independiente, dele permisos de ejecución y suéltelo en algún lugar $PATH
. Si es una biblioteca TCL cargada por un programa TCL, colóquela en algún lugar $TCLLIBPATH
.
PATH
es para especificar directorios de programas ejecutables. LD_LIBRARY_PATH
se usa para especificar directorios de bibliotecas.
PATH
es utilizado principalmente por el shell, mientras que LD_LIBRARY_PATH
es usado por el cargador dinámico (generalmente ld-linux.so
).
TCLLIBPATH
. Lo siento, no tengo argumento. Solo una pista.