Buna bazılarının iyi cevap vermesine rağmen, bazı düşünceler eklemek isterim:
1) PATH'a yalnızca çalıştırılan çalıştırılabilir dosyada yol elementi yoksa danışılır. bazı komutlar PATH yerine $ PATH olarak aranır ./somecommand
ya /usr/bin/somecommand
da ../../bin/somecommand
sadece dizin kurallarını kullanır.
PATH'de aynı ada sahip birden fazla çalıştırılabilir dosya varsa, hangisi tercih edilir?
Bulduğu ilk durakta durur, $ PATH sola sağa okur.
Dosya çalıştırıldığında geçerli dizin aramaya dahil edildi mi?
Geçerli dizin PATH ise, aranır. PATH içindeki boş bir dizinin geçerli dizini içerdiğini unutmayın. örn. PATH =: / usr / bin (boş öncü) PATH = / usr / bin: (boş boş) ve PATH = / usr / bin :: / bin (orta boş) hepsi geçerli çalışma dizinini içerecektir.
Geçerli bir dizinde yürütülebilir.sh adında bir dosya olduğunu varsayalım. Bu işe yarar mı eğer $ yürütülürse ve. PATH'in bir parçası değil mi?
PATH'i arayarak asla bulamazdı. Geçerli dizin PATH'de değilse, PATH araması tarafından bulamaz.
Bu komutu (ve karışıklık eklediğim için üzgünüm) komutu çalıştıran bir diğer ad veya işlev olsaydı, çalıştırılırdı. Veya kabuğunuzun bir konum önbelleği varsa ve çalıştırılabilir dosya önbelldeyse, onu bulabilir. Böylece onu PATH'de asla bulamaz, ancak başka yollarla da çalıştırılabilir.
which <executable>
komutu bu başlıkta faydalı olacaktır.