Wenn ich einen Befehl nicht richtig eingebe, zum Beispiel:
luca@mostro:~$ sido
No command 'sido' found, did you mean:
Command 'sudo' from package 'sudo' (main)
Command 'sudo' from package 'sudo-ldap' (universe)
Command 'sid' from package 'tendra' (universe)
sido: command not found
Der Befehlsinterpreter versucht zu erraten, welches Programm ich ausführen wollte. Das ist sehr ärgerlich für mich (ich verbinde es mit Google-Verhalten).
Ist es möglich, diese Funktion zu entfernen? Und wie?
Ich nahm an, dass es in meinem lokalen Setup war ~/.bashrc
, aber der Fast-Check scheiterte kläglich ...
/usr
, die zu Paketen gehören. Im Falle von/usr/share/command-not-found
gehört dieses Verzeichnis zumcommand-not-found-data
Paket. Jetzt ist Ihr Paketmanager verwirrt.Im Gegensatz zur anderen Antwort sollten Sie die Dinge nicht manuell verschieben , es sei
/usr
denn, Sie versuchen, Ihren Paketmanager zu defenestrieren.quelle
Die anderen Antworten hier gehen beide von root aus und davon aus, dass Sie es global für das System entfernen möchten. Wenn Sie dies nur für einen einzelnen Benutzer (z. B. Ihren eigenen Account) deaktivieren möchten, können Sie einfach Folgendes tun:
entweder in der Befehlszeile für die aktuelle Shell oder in deren
.bashrc
Die Funktion wird in der Regel global durch Definition
command_not_found_handle
in aktiviert. Sie/etc/bash.bashrc
kann dort auch standardmäßig deaktiviert werden, wobei das Paket für einen Hauptbenutzer weiterhin verfügbar bleibt, um die Funktion zu definieren und die Funktion in seinem eigenen Konto zu aktivieren.quelle