The which
perintah kembali hanya executables: ia tahu apa-apa tentang alias, karena merupakan program eksternal, dan tidak ada mekanisme untuk menyampaikan informasi alias untuk proses anak.
Jika Anda memasukkan perintah, type -a cp
Anda akan melihat semua interpretasi yang mungkin, sesuai urutan pilihan. Ini termasuk alias apa pun, karena type
ini adalah bash
perintah internal.
Penting untuk menyadari bahwa alias tidak akan ditafsirkan oleh sub-proses, seperti skrip atau editor interaktif yang memiliki opsi untuk menjalankan perintah sistem.
Jika Anda membuat cp
fungsi, maka versi Anda akan berjalan dalam skrip, meskipun tidak dari program lain:
cp() { /usr/local/bin/gcp "$@"; }
Jika Anda ingin Anda cp
bekerja di mana-mana, tambahkan $HOME/bin
di bagian atas PATH
daftar Anda dan arahkan $HOME/bin/cp
ke titik itu:
ln -s /usr/local/bin/gcp $HOME/bin/cp
Ini membuat tautan simbolik, meskipun Anda bisa membuatnya menjadi tautan keras yang sedikit lebih efisien (dihilangkan -s
), tetapi ini biasanya membutuhkan izin root ( sudo ln ...
). Membuat fungsi dan menambahkan ke PATH
variabel akan dilakukan di salah satu bash
skrip start-up, dengan izin pengguna.
PATH
envar.