Rücksprung

Aus Xinux Wiki
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.