Sen kullanabilir typeya command -v. Çıktısı typeinsan tarafından okunabilir; çıktısı command -vBash tarafından yürütülebilir.
Aslında biraz farklı olduklarını unutmayın. typeve commandkomutun karma değerine bakın. Yani yazarsanız, demek ki cmd, type cmdya command -v cmdçalıştırmak olacaktır tam olarak ne söyleyecektir. Ayrıca takma adlar, Bash işlevleri ve Bash yerleşikleri üzerinde de çalışırlar (ancak type -pbunları yok sayar ve yalnızca gerçek dosyaları döndürür).
whichsadece PATH üzerinde bir arama yapar. Bu farklı çünkü:
- Aynı ada sahip bir takma ad, işlev veya yerleşik varsa bunun yerine çağrılır.
- Son komuttan bu yana PATH'ye daha önce bir komut eklenmişse, tarafından bulunur
which, ancak bu komutun yürütülmesi karma değerini kullanır (Bash'deki karma değerini güncellemeye zorlayabilirsiniz hash -r).
Genellikle insanlar en azından interaktif kullanım için typedeğil which, "bu komut çalıştırıldığında nereden geliyor?" Yalnızca whichgerçekten PATH araması yapmak istiyorsanız kullanmalısınız .