Powłoka Bash ma wbudowane polecenie hash -r
resetowania wewnętrznej $PATH
pamięci podręcznej dla plików wykonywalnych.
Kiedy konieczne jest użycie tego polecenia?
Powiązane: Jak rehashować pliki wykonywalne w $ PATH za pomocą bash
Powłoka Bash ma wbudowane polecenie hash -r
resetowania wewnętrznej $PATH
pamięci podręcznej dla plików wykonywalnych.
Kiedy konieczne jest użycie tego polecenia?
Powiązane: Jak rehashować pliki wykonywalne w $ PATH za pomocą bash
Odpowiedzi:
Więc jeśli buforowane / przechowywane informacje nie są już aktualizowane lub prawidłowe, może być konieczne ich zresetowanie.
Czytaj więcej na ten miły odpowiedź na Unix Stack Exchange Network .
źródło
Jeśli wcześniej uruchomiłeś program w tym wywołaniu powłoki, a następnie zainstalowałeś jego inną wersję we wcześniejszym katalogu na
$PATH
liście wyszukiwania, musisz zresetować skrót, aby znalazł go w nowej lokalizacji. W przeciwnym razie użyje pamięci podręcznej, aby znaleźć program w starej lokalizacji.Musisz także zresetować skrót, jeśli program jest zainstalowany w 2 katalogach w twoim
$PATH
, i usuniesz kopię z wcześniejszej lokalizacji po uruchomieniu. W przeciwnym razie spróbuje go znaleźć w tej lokalizacji i zgłosi „Brak takiego pliku lub katalogu” (osobiście uważam, że powinien automatycznie wyczyścić skrót i przeprowadzić pełne wyszukiwanie, gdy to się stanie, ale nie zdarzyło się, gdy próbowałem ).Pamiętaj, że tak naprawdę nie musisz resetować całego skrótu, możesz użyć:
aby wymusić aktualizację wpisu pamięci podręcznej dla tej nazwy lub:
aby usunąć tylko ten wpis z pamięci podręcznej. Pozostawiają wszystkie pozostałe wpisy pamięci podręcznej w spokoju.
hash -r
Po modyfikacji nie trzeba jej używać$PATH
, resetuje się ona automatycznie po zakończeniu .źródło