Accrocher dans le gestionnaire "commande introuvable" dans Ubuntu

Je veux accrocher le gestionnaire pour la commande introuvable

wim@SDFA100461C:~$ thing No command 'thing' found, did you mean: Command 'tping' from package 'lam-runtime' (universe) Command 'thin' from package 'thin' (universe) thing: command not found 

Je souhaite remplacer ce comportement par mon propre script.

Plus précisément, je veux vérifier si la commande existe dans la sortie de lsvirtualenv -b , et si oui, je souhaite activer ce virtualenv.

Où dois-je commencer à pirater?

En général

Le Journal Linux a un très bon article:

De la page man de bash:

… Une recherche complète des répertoires dans PATH est effectuée uniquement si la commande n'est pas trouvée dans la table de hachage. Si la recherche échoue, le shell recherche une fonction shell définie nommée command_not_found_handle. Si cette fonction existe, elle est invoquée avec la commande d'origine et les arguments de la commande d'origine comme arguments, et l'état de sortie de la fonction devient l'état de sortie du shell. Si cette fonction n'est pas définie, la coque affiche un message d'erreur et renvoie un état de sortie de 127.

et

Un grep rapide dans / etc a découvert où il se passait. La fonction elle-même est dans / etc / bash_command_not_found et cette fonction est incluse (si elle existe) dans votre session bash via /etc/bash.bashrc.

Ubuntu 14.04

Des preuves empiriques suggèrent que sur une installation Ubuntu 14.04, le fichier / etc / bash_command_not_found n'existe pas, mais le fichier correct est un script python, situé dans / usr / lib / command-not-found