Rücksprung: Unterschied zwischen den Versionen

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