fish - die friendly interactive shell

Mo, 14. März 2022, Stephan Herold

Warum sollte man auf der Konsole alles selbst tippen; kann der Computer sich nicht denken, was der Benutzer möchte? Tatsächlich hilft fish mir da viel und hat meine Arbeit auf der Konsole beflügelt. Denn erstens wurde doch das meiste schon getippt, zweitens lässt sich vieles erraten und drittens kann ich mir all die Befehle mit ihren Parametern gar nicht merken. Wer fish ausprobieren möchte, findet es für gewöhnlich im Repository seiner Distribution.

Wenn ich also zu tippen beginne, zeigt fish rechts vom Cursor einen Vorschlag an:

Solange es nicht das ist, was ich will tippe ich einfach weiter:

Wenn ich den Vorschlag übernehmen will drücke ich Cursor rechts

und kann dann den Befehl einfach mit Return abschicken oder ergänzen oder abändern. So verfährt fish auch bei Datei- und Verzeichnisnamen. Gerade bei sich wiederholenden Arbeitsabläufen reicht oft schon ein Buchstabe.

cd ist nicht nötig, um das Verzeichnis zu wechseln wird dessen Name gefolgt von einem / eingegeben. .. für das übergeordnete, ~ für das Benutzer- und / für das Hauptverzeichnis funktionieren auch:

Und help öffnet die Dokumentation im Browser.

fish weicht in vielen Dingen von den üblichen Shells ab, schön zu sehen an einer while-Schleife an deren Syntax while Bedingung; Befehl; Befehl; Befehl; … ; end – damit lassen sich schöne Einzeiler bauen:

while not yt-dlp "https://www.youtube.com/watch?v=IeBxyckxLWE";echo "nochmal...";end

In diesem Beispiel wird bei einer wackeligen Verbindung der Download wiederholt, bis der Vorgang erfolgreich abgeschlossen wurde.

Strings werden oft als Pfad- und Dateinamen mit Jokern interpretiert. Damit fish die URL wie oben als solche übernimmt, muss diese in Anführungszeichen verpackt werden.

Dauerhaft als Standardshell einrichten lässt sich fish mit chsh -s /usr/bin/fish.

Tags

Fish, Befehl, Konsole, Benutzer, Cursor, Vorschlag