Lorsque vous écrivez le nom de commande incorrect, bash fait souvent ceci:
septi@norbert:~$ good
No command 'good' found, did you mean:
Command 'gold' from package 'binutils' (main)
Command 'gmod' from package 'gmod' (universe)
Command 'goo' from package 'goo' (universe)
Command 'god' from package 'god' (universe)
Command 'geod' from package 'proj-bin' (universe)
Command 'gord' from package 'scotch' (universe)
good: command not found
Ou parfois, il fait ceci:
septi@norbert:~$ nftp
No command 'nftp' found, but there are 23 similar ones
nftp: command not found
Y a-t-il un moyen de demander à bash de montrer ces commandes similaires pour moi? Et existe-t-il un moyen d'afficher des commandes similaires, y compris celles qui ne sont pas encore installées, au lieu d'exécuter l'application, ftp
par exemple?
Bash utilise la commande /usr/lib/command-not-found
pour rechercher des commandes similaires. Ceci utilise à son tour le module CommandNotFound
de Python.
La sortie que vous voyez sur le terminal (stderr
dans ce cas) est également générée à partir de ce module. L'emplacement de ce module est /usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py
, sur Ubuntu 14.04 et supérieur. Une limite par défaut est définie pour le nombre de commandes similaires dans la fonction CommandNotFound.print_spelling_suggestion(self, Word, min_len=3, max_len=15)
à la ligne 138. Vous pouvez modifier la valeur de max_len
pour qu'elle soit 30 (Utilisez Sudo nano
ou gksudo gedit
éditez ce fichier).
Il est fort probable que les 23 commandes "similaires" ne vous soient pas beaucoup plus utiles que "goo", "dieu" et "gord". Le petit truc que la plupart des basheurs utilisent pour trouver des choses est d'utiliser les pages de manuel, car la recherche est basée sur le contenu plutôt que sur le nom. Par exemple, essayez
man -k ftp
Si vous trouvez une commande probable ou instable, consultez la page de manuel elle-même en supprimant le commutateur -k:
man sftp
man a sa propre page de manuel:
man man
Vous savez maintenant pourquoi, chaque fois que vous installez un nouveau programme ou une nouvelle application, il installe très souvent une page de manuel à votre intention.
Oh oui, pour rechercher dans ou pour les pages de manuel que vous n'avez pas encore installées, vous pourriez aimer l'un des nombreux sites en ligne tels que celui-ci .