Rücksprung

Aus Xinux Wiki
Version vom 17. Oktober 2025, 16:36 Uhr von Thomas.will (Diskussion | Beiträge) (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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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.