Risposte:
I sistemi Unix tendono ad essere organizzati con diversi tipi di file distribuiti su diverse directory. Ad esempio, gli eseguibili sono di solito in directory chiamate bin( /bin, /usr/bin, /usr/local/bin, ...); storicamente, binstava per binario, perché gli eseguibili sono binari (codice macchina), ma possono esserci anche degli script. Dal momento che ci sono diverse directory che contengono eseguibili ed è utile aggiungere e rimuovere al volo directory (ad esempio per testare un'applicazione multi-eseguibile, aggiungerla temporaneamente al percorso di ricerca degli eseguibili), esiste una variabile d'ambiente per questo: PATH. Quando si esegue un programma assegnandone il nome, la shell lo cerca nelle directory menzionate nella PATHvariabile (è un elenco di directory separato da due punti).
Lo stesso meccanismo esiste per altri tipi di file che alcuni programmi cercheranno per nome. Ecco alcune PATHvariabili simili a quelle tipiche (nota che i percorsi di esempio che fornisco non sono esattamente ciò che troverai sul tuo sistema, c'è proprio lì per dare un'idea).
PATH: eseguibili (ad es /home/username/bin:/usr/local/bin:/usr/bin:/bin.).MANPATH: pagine di manuale (ad es /usr/local/man:/usr/man.).LD_LIBRARY_PATH: Librerie di codice nativo (su Linux, oltre al valore di questa variabile, il percorso di ricerca contiene in genere /usr/local/lib, /usr/lib, /libe pochi altri). Il nome LDderiva da Dynamic l o d er , il componente di sistema che carica le librerie in eseguibili collegati dinamicamente .PERL5LIB: Librerie Perl (ad es /usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl.).PYTHONPATH: Librerie Python (ad es /usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6.).TCLLIBPATH: Librerie TCL (ad es /usr/local/lib/tcltk:/usr/lib/tcltk.).Quindi, se il tuo pkg.tclè un eseguibile autonomo, dagli le autorizzazioni di esecuzione e rilascialo da qualche parte $PATH. Se è una libreria TCL caricata da un programma TCL, rilasciala da qualche parte $TCLLIBPATH.
PATHserve per specificare le directory dei programmi eseguibili. LD_LIBRARY_PATHviene utilizzato per specificare le directory delle librerie.
PATHviene utilizzato principalmente dalla shell, mentre LD_LIBRARY_PATHviene utilizzato dal caricatore dinamico (di solito ld-linux.so).
TCLLIBPATH. Scusa, non ho discussioni. Solo un suggerimento.