GNU/Linux >> Tutoriels Linux >  >> Linux

Comment effacer le cache des chemins d'accès aux exécutables de Bash ?

Lorsque j'exécute un programme sans spécifier le chemin complet de l'exécutable, et que Bash doit rechercher les répertoires dans $PATH pour trouver le binaire, il semble que Bash se souvienne du chemin dans une sorte de cache. Par exemple, j'ai installé une version de Subversion depuis la source vers /usr/local , puis tapez svnsync help à l'invite Bash. Bash a localisé le binaire /usr/local/bin/svnsync pour "svnsync" et l'a exécuté. Puis quand j'ai supprimé l'installation de Subversion dans /usr/local et réexécuté svnsync help , Bash répond :

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

Mais, lorsque je démarre une nouvelle instance de Bash, il trouve et exécute /usr/bin/svnsync .

Comment vider le cache des chemins d'accès aux exécutables ?

Réponse acceptée :

bash met en cache le chemin complet d'une commande. Vous pouvez vérifier que la commande que vous essayez d'exécuter est hachée avec le type commande :

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

Pour vider tout le cache :

$ hash -r

Ou une seule entrée :

$ hash -d svnsync

Pour plus d'informations, consultez help hash et man bash .


Linux
  1. Comment écrire une boucle dans Bash

  2. Comment effacer l'historique de Bash sous Linux

  3. Comment effacer une commande spécifique de l'historique Bash sous Linux

  4. Comment effacer le cache mémoire sous Linux

  5. Comment vider le cache de Firefox ?

Comment effacer le cache et les cookies sur Google Chrome

Comment installer KernelCare et vider le cache Kernelcare sous Linux

Comment effacer le cache et la mémoire tampon de la mémoire RAM et l'espace d'échange sous Linux

Comment exécuter un script bash

Comment effacer l'historique de Bash sous Linux et Mac

Comment effacer le cache DNS sur Ubuntu