Fish Shell:
Organisation von Code in Funktionen

Wie geht das:

In Fish schreibst du eine Funktion mit dem Schlüsselwort function, gibst ihr einen Namen und beendest sie mit end. Hier ist eine einfache:

function hello
    echo "Hallo, Welt!"
end

hello

Ausgabe:

Hallo, Welt!

Jetzt lassen wir sie einen Benutzer begrüßen:

function greet
    set user (whoami)
    echo "Hey da, $user!"
end

greet

Ausgabe:

Hey da, dein_benutzername!

Um sie über Sitzungen hinweg zu speichern, verwende funcsave greet.

Tiefer Eintauchen

Fish Shell Funktionen sind wie Mini-Skripte – du kannst so ziemlich alles hineinpacken. Historisch gesehen hat das Konzept von Funktionen in Shell-Skripten unzählige Stunden wiederholender Eingaben und Debugging gespart. Anders als Programmiersprachen wie Python, sind Shell-Funktionen mehr auf Bequemlichkeit als auf Struktur ausgerichtet.

Manche Shells, wie Bash, verwenden function oder einfach direkte Klammern. Fish hält sich an function ... end— klar und lesbar. Innerhalb von Fish-Funktionen hast du alle Funktionen: Parameter, lokale Variablen mit set -l, und du kannst sogar eine Funktion innerhalb einer anderen Funktion definieren.

Du benötigst keinen return Wert, da Fish darauf nicht großen Wert legt; die Ausgabe deiner Funktion ist ihre Rückgabe. Und wenn du persistente Funktionen für zukünftige Sitzungen haben möchtest, erinnere dich an funcsave.

Siehe auch

Funktionsbefehle

  • function — Eine Funktion erstellen
  • functions — Funktionen anzeigen oder löschen
  • funcsave — Die Definition einer Funktion im Autoload-Verzeichnis des Benutzers speichern
  • funced — Eine Funktion interaktiv bearbeiten