Birkaç gün önce cevabımdan memnun kaldım. Ayrıca which
bir komutun var olup olmadığını test etmek için komutun kullanılmadığını da biliyordum . Şimdi cevabımdan pek memnun değilim ve bu büyük cevaba atıfta bulunuyorum .
Basit bir which
komutla:
which foo.sh
Veya bir type
komut:
type foo.sh
Ve bunu, yolunuzdaki yolların sırasıyla $PATH
veya komut dosyası başladığında mutlak bir yolla etkileyebilirsiniz , EG
/home/user/scripts/foo.sh
Misal
PATH aşağıdaki gibi tanımlanırsa
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Ve bir betik ya da içinde /usr/local/bin
ve içinde olan başka bir şeyi /usr/bin
, /usr/local/bin
daha yüksek bir öncelik olarak başlatırsınız .
bash
vezsh
oradatype
yerleşik; bunun yerinezsh
which
, farklı olarakbash
, yerleşik (değil/usr/bin/which
)