Funktionen

<name>()
{
    <body>
    local <variable> # <- Lokale Variable hurra
}

Achtung! return funktioniert hier anders als gewohnt!

  • return gibt Errorstatus zurück, die numerisch sein müssen!
    • return in Funktionen ist also wie exit für das gesamte Script
  • Funktionen in bash haben also so gesehen keinen Rückgabewert!
  • Wenn von der Funktion nach stdout ausgegeben werden soll, muss die Funktion ganz normal, einfach als Name aufgerufen werden, hat dann aber nur ihren Exitcode als "Rückgabewert"
    • func <arg1> <arg2> ... wie shell commands einfach
  • Der $()-Wrapper fängt alles nach stdout (echo) ein, und gibt alles mit Leerzeichen getrennt als Rückgabewert
  • $() nennt man Command Substitution
  • Deprecated für Funktionen: `command`