Bash shell memiliki perintah hash -r
bawaan untuk mengatur ulang $PATH
cache internal untuk executable.
Kapan perlu menggunakan perintah ini?
Terkait: Cara mengulangi executable dalam $ PATH dengan bash
Bash shell memiliki perintah hash -r
bawaan untuk mengatur ulang $PATH
cache internal untuk executable.
Kapan perlu menggunakan perintah ini?
Terkait: Cara mengulangi executable dalam $ PATH dengan bash
Jawaban:
Jadi, ketika informasi yang di- cache / disimpan tidak lagi diperbarui atau valid, Anda mungkin perlu mengatur ulang.
Baca lebih lanjut tentang jawaban yang bagus ini di Unix stackexchange .
sumber
Jika sebelumnya Anda menjalankan sebuah program dalam doa shell, dan kemudian menginstal versi lain dari itu dalam direktori sebelumnya di daftar
$PATH
pencarian Anda, Anda perlu mengatur ulang hash sehingga akan menemukannya di lokasi baru. Jika tidak, ia akan menggunakan cache untuk menemukan program di lokasi yang lama.Anda juga perlu mengatur ulang hash jika program diinstal di 2 direktori di Anda
$PATH
, dan Anda menghapus salinan dari lokasi sebelumnya setelah menjalankannya. Kalau tidak, itu akan mencoba menemukannya di lokasi itu, dan melaporkan "Tidak ada file atau direktori" (secara pribadi, saya pikir itu harus secara otomatis menghapus hash dan melakukan pencarian penuh ketika itu terjadi, tetapi itu tidak terjadi ketika saya mencoba ).Perhatikan bahwa Anda sebenarnya tidak perlu mengatur ulang seluruh hash, Anda dapat menggunakan:
untuk memaksanya memperbarui entri cache hanya untuk nama itu, atau:
untuk menghapus hanya entri cache itu. Ini meninggalkan semua entri cache lainnya.
Anda tidak perlu menggunakan
hash -r
setelah memodifikasi$PATH
, itu diatur ulang secara otomatis ketika ini selesai.sumber