Rücksprung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= Funktionen – Rücksprung = *Der Rücksprung einer Funktion bezeichnet das Ende ihrer Ausführung und die Rückkehr zur Stelle im Skript, von der sie aufge…“) |
|||
| Zeile 1: | Zeile 1: | ||
= Funktionen – Rücksprung = | = Funktionen – Rücksprung = | ||
| − | *Der Rücksprung einer Funktion bezeichnet das Ende ihrer Ausführung und die Rückkehr zur Stelle im Skript, von der sie aufgerufen wurde. | + | *Der Rücksprung einer Funktion bezeichnet das Ende ihrer Ausführung und die Rückkehr zur Stelle im Skript, von der sie aufgerufen wurde. |
| − | *In Bash geschieht dies automatisch, wenn die Funktion das letzte Kommando abgearbeitet hat. | + | *In Bash geschieht dies automatisch, wenn die Funktion das letzte Kommando abgearbeitet hat. |
== Grundprinzip == | == Grundprinzip == | ||
Aktuelle Version vom 27. November 2025, 14:34 Uhr
Funktionen – Rücksprung
- Der Rücksprung einer Funktion bezeichnet das Ende ihrer Ausführung und die Rückkehr zur Stelle im Skript, von der sie aufgerufen wurde.
- In Bash geschieht dies automatisch, wenn die Funktion das letzte Kommando abgearbeitet hat.
Grundprinzip
- Nach dem Abarbeiten der Befehle in der Funktion fährt die aufrufende Shell mit dem nächsten Befehl im Skript fort.
- Optional kann ein explizites return mit einem Wert verwendet werden, der als Exit-Status der Funktion dient.
Syntax
- return [Wert]
Beispiel – Rücksprung mit Exit-Status
#!/bin/bash
check_date() {
date
return 0
}
check_date
echo "Exit-Status der Funktion: $?"
Ausgabe: Exit-Status der Funktion: 0
Beispiel – Rücksprung mit Fehlerwert
#!/bin/bash
check_file() {
[ -f /etc/passwd ] || return 1
}
check_file
echo "Exit-Status der Funktion: $?"
Ausgabe: Exit-Status der Funktion: 0
Beispiel – Funktion mit mehreren Rückgabewerten
#!/bin/bash
check_user() {
if id "$1" &>/dev/null; then
return 0
else
return 1
fi
}
check_user root
echo "Exit-Status für root: $?"
check_user nobody
echo "Exit-Status für nobody: $?"
Ausgabe: Exit-Status für root: 0 Exit-Status für nobody: 1
Aufgaben
- Erstellen Sie eine Funktion greet die einen Namen als Parameter erhält und eine Begrüßung ausgibt. Verwenden Sie return mit Status 0.
- Erstellen Sie eine Funktion check_dir die prüft, ob ein Verzeichnis existiert, und mit return 1 beendet, falls es nicht existiert. Prüfen Sie den Exit-Status nach dem Aufruf.