GNU/Linux >> Znalost Linux >  >> Linux

Jak vymazat Bashovu mezipaměť cest ke spustitelným souborům?

Když spustím program bez zadání úplné cesty ke spustitelnému souboru a Bash musí prohledat adresáře v $PATH k nalezení binárního souboru se zdá, že si Bash pamatuje cestu v nějaké mezipaměti. Například jsem nainstaloval sestavení Subversion ze zdroje do /usr/local a poté zadali svnsync help na výzvu Bash. Bash našel binární kód /usr/local/bin/svnsync pro „svnsync“ a provedl jej. Když jsem pak smazal instalaci Subversion v /usr/local a znovu spusťte svnsync help , Bash odpovídá:

bash: /usr/local/bin/svnsync: No such file or directory

Ale když spustím novou instanci Bash, najde a spustí /usr/bin/svnsync .

Jak vyčistím mezipaměť cest ke spustitelným souborům?

Přijatá odpověď:

bash ukládá do mezipaměti úplnou cestu k příkazu. Můžete ověřit, že příkaz, který se pokoušíte provést, je hashován pomocí type příkaz:

$ type svnsync
svnsync is hashed (/usr/local/bin/svnsync)

Vymazání celé mezipaměti:

$ hash -r

Nebo jen jeden záznam:

$ hash -d svnsync

Další informace najdete v help hash a man bash .


Linux
  1. Jak vymazat historii příkazového řádku BASH v Linuxu

  2. Jak vymazat konkrétní příkaz z historie Bash v Linuxu

  3. Jak vymazat mezipaměť webového prohlížeče z příkazového řádku v Linuxu

  1. Jak napsat smyčku v Bash

  2. Jak vymazat mezipaměť v Linuxu

  3. Jak vymažu mezipaměť ve Firefoxu?

  1. Jak vymazat mezipaměť Redis

  2. Jak komentovat v Bash

  3. Jak vymazat historii Bash na Linuxu