GNU/Linux >> Linux Esercitazione >  >> Linux

Come cancellare la cache dei percorsi di Bash per gli eseguibili?

Quando eseguo un programma senza specificare il percorso completo dell'eseguibile, e Bash deve cercare le directory in $PATH per trovare il binario, sembra che Bash ricordi il percorso in una sorta di cache. Ad esempio, ho installato una build di Subversion dal sorgente a /usr/local , quindi digitato svnsync help al prompt di Bash. Bash ha individuato il binario /usr/local/bin/svnsync per "svnsync" e l'ho eseguito. Poi quando ho cancellato l'installazione di Subversion in /usr/local e rieseguito svnsync help , Bash risponde:

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

Ma, quando avvio una nuova istanza di Bash, trova ed esegue /usr/bin/svnsync .

Come posso svuotare la cache dei percorsi degli eseguibili?

Risposta accettata:

bash memorizza nella cache il percorso completo di un comando. Puoi verificare che il comando che stai tentando di eseguire sia sottoposto a hash con il type comando:

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

Per svuotare l'intera cache:

$ hash -r

O solo una voce:

$ hash -d svnsync

Per ulteriori informazioni, consulta help hash e man bash .


Linux
  1. Come scrivere un ciclo in Bash

  2. Come cancellare la cronologia della riga di comando BASH in Linux

  3. Come cancellare la cronologia di Bash su Linux

  4. Come cancellare la cache del browser Web dalla riga di comando in Linux

  5. Come posso svuotare la cache su Firefox?

Come cancellare cache e cookie su Google Chrome

Come installare KernelCare e svuotare Kernelcare Cache in Linux

Come cancellare la cache di memoria RAM e il buffer e lo spazio di scambio su Linux

Come eseguire uno script Bash

Come cancellare la cronologia di Bash in Linux e Mac

Come cancellare la cache DNS su Ubuntu