Funktionen

In einer Shell kann man Funktionen (Unterprogramme) definieren.

Funktionsnamen müssen nach den selben Regeln wie Variablennamen gebildet werden (siehe Namen von Variablen). Dabei dürfen in der Original-sh eine Funktion und eine Variable nicht denselben Namen haben; in der bash dagegen doch.

Eine Funktion wird einfach mit ihrem Namen aufgerufen, und gegebenenfalls (wie bei Programmaufrufen) mit Parametern.

Die Parameter werden nicht bei der Definition einer Funktion mit deklariert. Sie sind innerhalb der Funktion mit $* etc. zu erreichen, wie die Parameter des Skripts außerhalb von Funktionen (siehe Variablen, Parameter).

Eine Funktion liefert bei ihrem Aufruf (wie jeder Ausdruck) einen Rückgabewert, den man verwenden kann, aber nicht muß. Den Rückgabewert kann man setzen, indem man die Funktion mit return wert verläßt. Ansonsten wird das Ergebnis (der exit-Status) des letzten ausgeführten Kommandos in der Funktion als Rückgabewert verwendet.

Beispiel 10   Im folgenden Beispiel wird eine Funktion definiert, und mit zwei Parametern aufgerufen. Die Funktion gibt ihre Parameter aus:
#!/bin/bash
funny()
{
        echo "ich bin funny!"
        for f
        do
                echo Argument ist $f
        done
}
echo "es geht los"
funny 123 456
echo fertig

AnyWare@Wachtler.de