TEILEN

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.

Diverse Beispiele von The Fuck in Aktion. Auf das Bild tippen um Animation zu sehen.
Diverse Beispiele von The Fuck in Aktion. Auf das Bild tippen um Animation zu sehen.

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.

7 KOMMENTARE

  1. Nimm die zsh statt der bash, da ist das schon drin (sowie viele andere Nützlichkeiten), und funktioniert ohne den Umweg über die Fehlermeldung.

  2. „The Fuck hat seine Stärken besonders bei Git-Kommandos“

    Git hat aber auch eine eingebaute Autokorrektur:

    git config --global help.autoCorrect 20

    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.

    man git-config
  3. 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ß

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

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here