Yanıtlar:
Unix sistemleri, farklı dizinlere yayılmış farklı dosya türleri ile organize olma eğilimindedir. Örneğin, yürütülebilir denilen dizinlerde genellikle bin
( /bin
, /usr/bin
, /usr/local/bin
, ...); Tarihsel olarak, bin
çalıştırılabilir dosyalar ikili dosyalar (makine kodu) olduğundan ikili dosyalar için durdu, ancak komut dosyaları da olabilir. Çalıştırılabilir dosyalar içeren birkaç dizin olduğundan ve anında dizin eklemek ve kaldırmak yararlıdır (örneğin çok çalıştırılabilir bir uygulamayı test etmek için, geçici olarak çalıştırılabilirler için arama yoluna eklersiniz), bunun için bir ortam değişkeni vardır: PATH
. Adını vererek bir programı yürüttüğünüzde, kabuk onu PATH
değişkende belirtilen dizinlerde arar (bu, iki nokta üst üste ayrılmış bir dizin listesidir).
Aynı mekanizma, bazı programların ada göre arayacağı diğer dosya türleri için de geçerlidir. İşte birkaç tipik PATH
benzeri değişken (not verdiğim örnek yolların tam olarak sisteminizde bulacağınız bir şey olmadığını unutmayın, orada sadece bir fikir vermek için var).
PATH
: çalıştırılabilir (ör. /home/username/bin:/usr/local/bin:/usr/bin:/bin
).MANPATH
: manuel sayfalar (örn. /usr/local/man:/usr/man
).LD_LIBRARY_PATH
: Yerel kod kütüphaneleri (Linux üzerinde, bu değişkenin değerine ek olarak, arama yolu tipik içeren /usr/local/lib
, /usr/lib
, /lib
ve birkaç diğerleri). Adı LD
gelen dinamik l oa d er sistem bileşeni, yani içine yükler kütüphaneler dinamik bağlantılı yürütülebilir .PERL5LIB
: Perl kütüphaneleri (örneğin /usr/local/lib/site-perl:/usr/lib/site-perl:/usr/lib/perl:/usr/share/perl
).PYTHONPATH
: Python kütüphaneleri (örneğin /usr/local/lib/python:/usr/lib/python:/usr/lib/python2.6
).TCLLIBPATH
: TCL kütüphaneleri (örneğin /usr/local/lib/tcltk:/usr/lib/tcltk
).Bu nedenle, kendi pkg.tcl
başına çalışan bir çalıştırılabilir dosya ise, yürütme izinlerini verin ve bir yere bırakın $PATH
. TCL programı tarafından yüklenen bir TCL kitaplığıysa, bir yere bırakın $TCLLIBPATH
.
PATH
çalıştırılabilir programların dizinlerini belirlemek içindir. LD_LIBRARY_PATH
kütüphanelerin dizinlerini belirlemek için kullanılır.
PATH
öncelikle kabuk LD_LIBRARY_PATH
tarafından, dinamik yükleyici tarafından kullanılır (genellikle ld-linux.so
).
TCLLIBPATH
. Üzgünüm, tartışmam yok. Sadece bir ipucu.