zsh
Birkaç kabukları biri (diğerleri ediliyor tcsh
( which
a olarak ortaya csh
için komutcsh
bir kabuk kabuğu olduğu için mantıklı bir şey kullanıcılar , bu da sınırlaması vardır, tcsh
bunu bir iyileştirme olarak yerleşik hale getirmiştir)) which
, ancak bir şekilde siz veya işletim sisteminiz (bazı rc
dosyalarla) which
kabuğun stajyerlerine erişimi olmadığı için sistem komutuna bir çağrı güvenilir bir şekilde yapamayan bir çağrı ile değiştirerek bozdu, bu yüzden kabuğun bir komut adını nasıl yorumladığını bilemez .
Zsh'de, hepsi which
,type
, whence
ve where
tüm komutları ne hakkında bilgi edinmek için kullanılır komutları, yerleşik ancak farklı çıkışları ile vardır. Hepsi tarihsel bir nedenden dolayı oradalar, tüm davranışlarını whence
komuta farklı bayraklarla alabilirsiniz .
Her birinin çalışarak ne yaptığını öğrenebilirsiniz:
info -f zsh --index-search=which
Veya yazın info zsh
, ardından dizini ile getirin i
ve yerleşik adını girin (tamamlama kullanılabilir).
Ve kullanmaktan kaçının /usr/bin/which
. Bugünlerde bunun which
gerekli olduğu bir kabuk yok . Timothy'in dediği gibi, kabuğunuzun sağladığı yerleşimi kullanın. Çoğu POSIX mermisi şu type
komuta sahip olacaktır ve şunları kullanabilirsiniz:command -v
sadece (her ikisi olsa komutun yolunu almak type
ve command -v
hepsi değilse bile çoğu mevcuttur) LSB değil artık POSIX'deki (ancak Unix isteğe bağlıdır ve Hiç karşılaşmadığınız Bourne benzeri mermiler).
(Btw, bu gibi görünüyor /usr/bin
Gözlerinde farklı iki kez göründüğünü $PATH
, bir ekleyebilir typeset -U path
adresinden Müşteri ~/.zshrc
)