Werte-Rückgabe
Version vom 17. Oktober 2025, 16:41 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Funktionen – Werte-Rückgabe = *Funktionen in Bash können Rückgabewerte liefern, die vom Aufrufer weiterverwendet werden können.* *Es gibt zwei Arten d…“)
Funktionen – Werte-Rückgabe
- Funktionen in Bash können Rückgabewerte liefern, die vom Aufrufer weiterverwendet werden können.*
- Es gibt zwei Arten der Rückgabe: der Exit-Status (0–255) über return und Werte über echo für die Weiterverarbeitung.*
Rückgabewert mit return
- Mit return N kann ein Wert zwischen 0 und 255 zurückgegeben werden.
- Üblicherweise wird der Exit-Status 0 für Erfolg und ungleich 0 für Fehler verwendet.
- Der Wert wird über $? nach dem Funktionsaufruf abgefragt.
Beispiel – return
#!/bin/bash
is_even() {
if [ $(($1 % 2)) -eq 0 ]; then
return 0
else
return 1
fi
}
is_even 4
echo "Exit-Status für 4: $?"
is_even 5
echo "Exit-Status für 5: $?"
Ausgabe: Exit-Status für 4: 0 Exit-Status für 5: 1
Werte über echo zurückgeben
- Werte, die größer als 255 sind oder komplexere Daten, werden über echo zurückgegeben.
- Der Aufrufer kann diese Ausgabe mit Kommando-Substitution erfassen.
Beispiel – echo
#!/bin/bash
square() {
echo $(($1 * $1))
}
RESULT=$(square 5)
echo "Quadrat von 5 ist $RESULT"
Ausgabe: Quadrat von 5 ist 25
Hinweise
- return eignet sich für Statusangaben (Erfolg/Fehler).
- Für numerische Berechnungen, Strings oder Listen sollte echo in Kombination mit Kommando-Substitution verwendet werden.
- Der Exit-Status einer Funktion kann zusätzlich mit $? geprüft werden, unabhängig von über echo zurückgegebenen Werten.
Aufgaben
- Schreiben Sie eine Funktion is_positive die prüft, ob eine Zahl positiv ist, und geben Sie den Status mit return zurück.
- Schreiben Sie eine Funktion cube die die dritte Potenz einer Zahl berechnet und den Wert über echo zurückgibt.
- Erstellen Sie ein Skript, das eine Zahl eingibt, die Funktion cube aufruft und das Ergebnis in einer Variablen speichert und ausgibt.