Odpowiedzi:
Systemy uniksowe są zwykle zorganizowane z różnymi typami plików rozmieszczonymi w różnych katalogach. Na przykład, pliki wykonywalne są zwykle w katalogach nazywanych bin( /bin, /usr/bin, /usr/local/bin, ...); historycznie binoznaczało binarne, ponieważ pliki wykonywalne są binarne (kod maszynowy), ale mogą istnieć również skrypty. Ponieważ istnieje kilka katalogów zawierających pliki wykonywalne, a przydatne jest dodawanie i usuwanie katalogów w locie (np. W celu przetestowania aplikacji wykonywalnej z wieloma plikami wykonywalnymi, tymczasowo dodajesz ją do ścieżki wyszukiwania plików wykonywalnych), dlatego istnieje zmienna środowiskowa: PATH. Kiedy wykonujesz program, podając jego nazwę, powłoka sprawdza go w katalogach wymienionych w PATHzmiennej (jest to lista katalogów oddzielona dwukropkami).
Ten sam mechanizm istnieje w przypadku innych typów plików, które niektóre programy będą wyszukiwać według nazwy. Oto kilka typowych PATHzmiennych (zauważ, że przykładowe ścieżki, które podaję, nie są dokładnie tym, co znajdziesz w systemie, są tam tylko po to, aby dać pomysł).
PATH: pliki wykonywalne (np /home/username/bin:/usr/local/bin:/usr/bin:/bin.).MANPATH: strony podręcznika (np /usr/local/man:/usr/man.).LD_LIBRARY_PATH: Natywne biblioteki kodu (na Linuksie, oprócz wartości tej zmiennej, odnośnika ścieżka zawiera zwykle /usr/local/lib, /usr/lib, /libi kilka innych). Nazwa LDpochodzi z dynamicznym l oa d er , komponent system, który ładuje biblioteki w dynamicznie powiązanych plików wykonywalnych .PERL5LIB: Biblioteki Perla (np /usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl.).PYTHONPATH: Biblioteki Python (np /usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6.).TCLLIBPATH: Biblioteki TCL (np /usr/local/lib/tcltk:/usr/lib/tcltk.).Więc jeśli twój pkg.tcljest samodzielnym plikiem wykonywalnym, daj mu uprawnienia do wykonywania i upuść go gdzieś $PATH. Jeśli jest to biblioteka TCL załadowana przez program TCL, upuść ją gdzieś $TCLLIBPATH.
PATHsłuży do określania katalogów programów wykonywalnych. LD_LIBRARY_PATHsłuży do określania katalogów bibliotek.
PATHjest używany głównie przez powłokę, podczas gdy LD_LIBRARY_PATHjest używany przez dynamiczny moduł ładujący (zwykle ld-linux.so).
TCLLIBPATH. Przepraszam, nie mam żadnych argumentów. Tylko wskazówka.