Anda bisa menggunakan type
atau command -v
. Output dari type
adalah dapat dibaca manusia; output dari command -v
dapat dieksekusi oleh Bash.
Perhatikan bahwa mereka sebenarnya sedikit berbeda. type
dan command
mencari nilai hash dari perintah. Artinya, jika Anda mengetik cmd
, type cmd
atau command -v cmd
akan memberi tahu Anda dengan tepat apa yang akan dijalankan. Mereka juga bekerja pada alias, fungsi Bash, dan Bash builtins (meskipun type -p
akan mengabaikan ini dan hanya mengembalikan file yang benar).
which
hanya melakukan pencarian di PATH. Ini berbeda karena:
- Jika ada alias, fungsi, atau builtin dengan nama yang sama, itu akan dipanggil.
- Jika perintah ditambahkan sebelumnya di PATH sejak hash terakhir, itu akan ditemukan oleh
which
, tetapi mengeksekusi perintah itu akan menggunakan nilai hash (Anda dapat memaksa memperbarui hash di Bash dengan hash -r
).
Biasanya orang benar-benar menginginkan type
, bukan which
, setidaknya untuk penggunaan interaktif, karena mereka menggunakannya untuk mencari tahu "dari mana datangnya perintah ini ketika saya menjalankannya?" Anda hanya harus menggunakan which
jika Anda benar-benar ingin melakukan pencarian PATH.