Beberapa hari yang lalu saya puas dengan jawaban saya. Saya juga tahu bahwa which
perintah itu tidak digunakan untuk menguji apakah ada perintah. Sekarang saya tidak begitu puas dengan jawaban saya, dan saya merujuk pada tanggapan yang luar biasa ini .
Dengan which
perintah sederhana :
which foo.sh
Atau type
perintah:
type foo.sh
Dan Anda dapat memengaruhi ini dengan urutan jalur di Anda $PATH
atau melalui jalur absolut saat skrip dimulai, EG
/home/user/scripts/foo.sh
Contoh
Jika PATH didefinisikan seperti di bawah ini
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Dan Anda memulai skrip atau sesuatu yang lain yang masuk /usr/local/bin
dan masuk /usr/bin
, skrip /usr/local/bin
sebagai prioritas yang lebih tinggi.
bash
danzsh
ada jugatype
built-in; sebaliknya dizsh
which
, berbeda daribash
, adalah built-in (dan tidak/usr/bin/which
)