Wie entferne ich die Funktion "Meinten Sie ..." in der Shell?

19

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 ...

Luca
quelle

Antworten:

16
sudo apt-get remove command-not-found
sudo mv /usr/share/command-not-found /usr/share/command-not-found.bak

Sie müssen Ihre Shell neu starten, damit die Änderung wirksam wird.

Rinzwind
quelle
2
Bewegen Sie keine Dinge /usr, die zu Paketen gehören. Im Falle von /usr/share/command-not-foundgehört dieses Verzeichnis zum command-not-found-dataPaket. Jetzt ist Ihr Paketmanager verwirrt.
Ruief
9
sudo apt-get remove command-not-found command-not-found-data

Im Gegensatz zur anderen Antwort sollten Sie die Dinge nicht manuell verschieben , es sei /usrdenn, Sie versuchen, Ihren Paketmanager zu defenestrieren.

Leid
quelle
3

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:

unset command_not_found_handle

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_handlein aktiviert. Sie /etc/bash.bashrckann 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.

Randall
quelle