Bunun bir kopya olmadığını unutmayın . Ben yaklaşık soruyorum devre dışı temizleyerek değil, önbellek. Temizlenecek bir önbelleğiniz varsa, açıkça devre dışı bırakılmaz.
Bash'ın yolda bulduğu şeylerin önbelleğini fark ettiğim nadir durumlarda, yararlı olduğu için değil, kanlı sinir bozucu olduğu için değil. Bir örnek:
~ dc$ export PATH=$HOME/bin:$PATH
~ dc$ cat bin/which
#!/bin/bash
echo "my which"
~ dc$ which
my which
~ dc$ rm bin/which
~ dc$ which which
-bash: /Users/dc/bin/which: No such file or directory
Başka bir kabukta ...
~ dc$ which which
/usr/bin/which
Eminim ki bu önbellekleme, disklerin yavaş olduğu ve hafızanın pahalı ve sınırlı olduğu eski günlerde mantıklıydı ve bu yüzden çok fazla önbellek kullanamadınız - bir yolu önbelleğe almak, bir komut bulmak için gerekli tüm disk bloklarını önbelleğe almaktan daha ucuzdur . Ancak bu günlerde fark edilir bir fayda sağlamaz ve çözdüğünden daha fazla soruna neden olur. Bu bir yanlışlık, bir böcek olma eşiğinde.
Ve bunu devre dışı bırakmanın bir yolunu bile bulamıyorum. İşaretçi var mı?
set +hKarma işlemini devre dışı bırakmak için kullanın .
/usr/binTamamen önbellekte kalan çok fazla RAM'iniz yoksa, bir masaüstü makinesinin genel durumunda bile avantajlar fark edilir .