Bash kabuğu, yürütülebilir dosyalar hash -r
için dahili $PATH
önbelleği sıfırlamak için yerleşik bir komut içerir .
Bu komutu kullanmak ne zaman gereklidir?
İlgili: $ PATH içinde yürütülebilir dosyaları bash ile nasıl yeniden canlandırırım
Bash kabuğu, yürütülebilir dosyalar hash -r
için dahili $PATH
önbelleği sıfırlamak için yerleşik bir komut içerir .
Bu komutu kullanmak ne zaman gereklidir?
İlgili: $ PATH içinde yürütülebilir dosyaları bash ile nasıl yeniden canlandırırım
Yanıtlar:
hash
bir bash yerleşik komutudur. Karma tablo, sonuçları bellekte önbelleğe alarak her komut yazışınızda $ PATH aramasını engellemek için bash özelliğidir.
Bu nedenle, önbelleğe alınan / depolanan bilgiler artık güncellenmediğinde veya geçerli olmadığında sıfırlamanız gerekebilir.
Unix stackexchange ile ilgili bu güzel cevap hakkında daha fazla bilgi edinin .
Daha önce bu kabuk çağrısında bir program çalıştırıp $PATH
arama listenizdeki önceki bir dizine başka bir sürümünü yüklediyseniz , karmayı yeni konumda bulabilmesi için sıfırlamanız gerekir. Aksi takdirde, programı eski konumda bulmak için önbelleği kullanır.
Ayrıca, programınızdaki 2 dizine yüklüyse karmayı sıfırlamanız ve $PATH
çalıştırdıktan sonra kopyayı önceki konumdan kaldırmanız gerekir. Aksi takdirde, bu konumda bulmaya ve "Böyle bir dosya veya dizin yok" bildirmeye çalışacaktır (kişisel olarak, karmayı otomatik olarak temizlemeli ve bu olduğunda tam bir arama yapmalıdır, ancak denediğimde olmadı ).
Tüm karma değerini gerçekten sıfırlamanız gerekmediğini unutmayın, şunları kullanabilirsiniz:
hash name
yalnızca bu ad için önbellek girdisini güncelleştirmeye zorlamak veya:
hash -d name
sadece bu önbellek girdisini silmek için. Bunlar diğer tüm önbellek girdilerini yalnız bırakır.
hash -r
Değiştirdikten sonra kullanmanıza gerek yoktur $PATH
, bu yapıldığında otomatik olarak sıfırlanır.