Arbeitet man im Terminal, dann lassen sich Fehler beim Eintippen von Befehlen kaum vermeiden. Mal stimmt schon etwas beim Namen des Kommandos nicht, mal vertippt man sich bei den Optionen, mal gibt man einen Pfad falsch ein. Benutzt man brav die Tabulator-Taste und erweitert so Befehle und Pfade automatisch, dann lassen sich viele Tippfehler schon im Ansatz vermeiden. Doch ein paar Fehler gehen trotz Sorgfalt und Tab-Ergänzung durch. Mit [Pfeil hoch] zum Durchstöbern der History und den Pfeiltasten nach links und rechts korrigiert man diese schnell, aber wie wäre es, wenn die Shell selber den Fehler erkennt und Lösungen anbietet? Das praktische Programm TheFuck (yep, der Name stimmt) macht genau dies.
Aktuell findet ihr The Fuck bei vielen Ubuntu-Versionen nicht in den Paketquellen. Nur bei der gerade erst im Oktober veröffentlichen Ausgabe Ubuntu „Wily Werewolf“ 15.10 ist das Paket schon mit an Bord. Bei Debian ist The Fuck hingegen bereits im Testing-Zweig enthalten. Arch Linux führt The Fuck in den Community-Repos, so lässt sich das Programm also direkt mit pacman -S thefuck
installieren. Wer eine ältere Ubuntu-Distribution im Einsatz hat (oder gar MacOS X), der findet auf der Homepage ein aktuell als „Experimental“ gekennzeichnetes Installationsskript — ich habe es erfolgreich in einer VM mit Ubuntu 15.04 getestet.
Nach der Installation könnt ihr The Fuck theoretisch direkt ausführen, doch damit das Programm auch funktioniert, müsst ihr die Anweisung eval $(thefuck --alias)
als neue Zeile in die Konfigurationsdatei eurer Shell — also üblicherweise die benutzerspezifische Konfigurationsdatei der Bash ~/.bashrc
— eintragen und die Datei anschließend mit source ~/.bashrc
neu einlesen lassen (oder alternativ das Terminalfenster schließen und umgehend wieder neu öffnen).
$ fuck Seems like fuck alias isn't configured! Please put eval $(thefuck --alias) in your ~/.bashrc. More details - https://github.com/nvbn/thefuck#manual-installation $ source ~/.bashrc
Führt ihr nun ein falsch geschriebenes Kommando (der Fehler darf auch in den Optionen des Kommandos liegen) aus, gebt ihr direkt nach der Fehlermeldung lediglich fuck
ein und lasst euch den wahrscheinlich richtigen Befehl anzeigen — bei kleineren Tippfehlern stimmt meist schon der erste Tipp. Mit den Pfeiltasten nach oben und unten scrollt ihr durch die weiteren Vorschläge, mit [Eingabe] führt ihr den den gerade aktuellen Korrekturvorschlag direkt aus. Liegt The Fuck komplett daneben, dann brecht ihr mit [Strg]+[C] die ganze Aktion ab.
$ pakaur -Syu bash: pakaur: command not found $ fuck pacaur -Syu [enter/↑/↓/ctrl+c] $ sudo apt-geht upgrade sudo: apt-geht: command not found $ fuck sudo apt-get upgrade [enter/↑/↓/ctrl+c]
The Fuck hat seine Stärken besonders bei Git-Kommandos, aber auch zahlreiche andere Kommandos werden unterstützt. Die Homepage erklärt unter How it works, wie The Fuck auf die Korrekturvorschläge kommt. Wer die entsprechende Zeit investieren möchte, der kann auch eigene Regeln implementieren und so The Fuck um bisher nicht vorhandene Funktionen aufrüsten.
Nimm die zsh statt der bash, da ist das schon drin (sowie viele andere Nützlichkeiten), und funktioniert ohne den Umweg über die Fehlermeldung.
„The Fuck hat seine Stärken besonders bei Git-Kommandos“
Git hat aber auch eine eingebaute Autokorrektur:
Die Zahl gibt die Anzahl der Dezisekunden an, bis der automatisch korrigierte Befehl dann ausgeführt wird. In diesem Beispiel hätte man also zwei Sekunden Zeit, um die automatische Korrektur abzubrechen.
Hi,
Ich hab die Anweisungen befolgt, bekomme aber nach dem Hinzufügen der Zeile in die bashrc dieselbe nicht gesourced. Das Terminal bleibt leer und reagiert nicht mehr. Ich bin auf einer frischen Ubuntu Genome 15.10 Installation.
Woran könnte das liegen?
Gruß
Mit Ubuntu 15.10 habe ich es nicht probiert, aber was meinst du damit dass das Terminal nicht mehr reagiert? Das sollte eigentlich keinen Zusammenhang haben. Grüße, Christoph.
Nach dem „source .bashrc“ Befehl bleibt das Terminal leer. Es kommt keine neue Zeile, als wäre das sourcen nicht abgeschlossenen. Ctrl+c tut nichts und nach kurzer Zeit feiert mit Gnome Shell vollends ein. Nur ein hard reset hilft dann. Scheint was mit der bashrc nicht zu stimmen. Sollte es nicht evtl. eval „$(thefuck –alias)“ lauten?
Danke für die Antwort.
Gruß
Ist bei mir (Debian) leider auch passiert, System wurde unbenutzbar. Deshalb Vorsicht! https://bugs.launchpad.net/ubuntu/+source/thefuck/+bug/1509694 //Edit von Christoph: Link korrigiert.
Genau dasselbe bei mir wie bei Johnny und Uwe, bei einer frischen Lubuntu 15.10 Installation. Ich schau mir mal den Link an, den Uwe angegeben hat.