Definition und Aufruf: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „= Funktionen zur Strukturierung von Skripten – Definition und Aufruf = *Funktionen in der Bash dienen dazu, Skripte besser zu strukturieren und wiederverwen…“
 
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= Funktionen zur Strukturierung von Skripten – Definition und Aufruf =
= Funktionen zur Strukturierung von Skripten – Definition und Aufruf =


*Funktionen in der Bash dienen dazu, Skripte besser zu strukturieren und wiederverwendbare Codeblöcke zu erstellen.*
*Funktionen in der Bash dienen dazu, Skripte besser zu strukturieren und wiederverwendbare Codeblöcke zu erstellen.
*Sie werden definiert, indem ein Name für die Funktion angegeben und anschließend die Befehle in geschweifte Klammern gesetzt werden.*
*Sie werden definiert, indem ein Name für die Funktion angegeben und anschließend die Befehle in geschweifte Klammern gesetzt werden.
*Befehle in Funktionen werden wie in normalen Skripten geschrieben und können mit den üblichen Shellmechanismen aufgerufen werden.


== Grundprinzip ==
== Grundprinzip ==
* Eine Funktion wird einmal definiert und kann beliebig oft aufgerufen werden.
*Eine Funktion wird einmal definiert und kann beliebig oft aufgerufen werden.
* Funktionen helfen, wiederkehrende Abläufe zu kapseln und den Code lesbarer zu gestalten.
*Funktionen helfen, wiederkehrende Abläufe zu kapseln und den Code lesbarer zu gestalten.
*Funktionen können Parameter entgegennehmen, die wie Stellungsparameter $1, $2, … innerhalb der Funktion verwendet werden.
*Der Rücksprung erfolgt automatisch nach Ausführung des letzten Befehls der Funktion.


== Syntax ==
== Syntax ==
* function FUNKTIONSNAME {
<syntaxhighlight lang=bash>
*     Befehle
FUNKTIONSNAME() {
* }
     Befehle
* oder kürzer
}
* FUNKTIONSNAME() {
Alternativ mit function-Keyword:
*     Befehle
function FUNKTIONSNAME {
* }
     Befehle
 
}
</syntaxhighlight>
== Beispiel – einfache Funktion ==
== Beispiel – einfache Funktion ==
* greet() {
<syntaxhighlight lang=bash>
*    echo "Hallo Welt"
greet() {
* }
     echo "Hallo Welt"
* greet
}
 
greet
Ausgabe:
</syntaxhighlight>
  Hallo Welt
 
== Beispiel – Funktion mehrfach aufrufen ==
* greet() {
*     echo "Hallo $1"
* }
* greet Thomas
* greet Maria


Ausgabe:
== Beispiel – Funktion mit Parametern ==
  Hallo Thomas
<syntaxhighlight lang=bash>
  Hallo Maria
greet() {
    echo "Hallo $1"
}
greet Thomas
greet Maria
</syntaxhighlight>


== Hinweise ==
== Hinweise ==
* Funktionen können vor oder nach ihrem Aufruf im Skript stehen, da Bash beim Parsen alle Funktionen erkennt.
*Funktionen können vor oder nach ihrem Aufruf im Skript stehen, da Bash beim Parsen alle Funktionen erkennt.
* Es ist keine Rückgabe von Werten zwingend erforderlich – Funktionen können auch nur Befehle ausführen.
*Eine Funktion muss nicht zwingend einen Wert zurückgeben – sie kann ausschließlich Befehle ausführen.
* Parameter können wie bei Skripten über $1, $2 usw. übergeben werden.
*Parameterübergabe erfolgt über $1, $2, … innerhalb der Funktion.
*Interne Funktionen können überladen werden, d. h. eine bestehende Funktion kann durch eine neue Definition ersetzt werden.
*Befehle innerhalb von Funktionen werden wie normale Kommandos behandelt.
*Funktionen können durch ./skript oder bash skript.sh aufgerufen werden, je nachdem, wie das Skript ausgeführt wird.
= Aufgaben =
*Erstellen Sie eine Funktion `begruesse`, die einen Namen als Parameter übernimmt und "Hallo <Name>" ausgibt. 
*Rufen Sie die Funktion mehrfach mit unterschiedlichen Namen auf und überprüfen Sie die Ausgabe.

Aktuelle Version vom 17. Oktober 2025, 16:34 Uhr

Funktionen zur Strukturierung von Skripten – Definition und Aufruf

  • Funktionen in der Bash dienen dazu, Skripte besser zu strukturieren und wiederverwendbare Codeblöcke zu erstellen.
  • Sie werden definiert, indem ein Name für die Funktion angegeben und anschließend die Befehle in geschweifte Klammern gesetzt werden.
  • Befehle in Funktionen werden wie in normalen Skripten geschrieben und können mit den üblichen Shellmechanismen aufgerufen werden.

Grundprinzip

  • Eine Funktion wird einmal definiert und kann beliebig oft aufgerufen werden.
  • Funktionen helfen, wiederkehrende Abläufe zu kapseln und den Code lesbarer zu gestalten.
  • Funktionen können Parameter entgegennehmen, die wie Stellungsparameter $1, $2, … innerhalb der Funktion verwendet werden.
  • Der Rücksprung erfolgt automatisch nach Ausführung des letzten Befehls der Funktion.

Syntax

FUNKTIONSNAME() {
    Befehle
}
Alternativ mit function-Keyword:
function FUNKTIONSNAME {
    Befehle
}

Beispiel – einfache Funktion

greet() {
    echo "Hallo Welt"
}
greet

Beispiel – Funktion mit Parametern

greet() {
    echo "Hallo $1"
}
greet Thomas
greet Maria

Hinweise

  • Funktionen können vor oder nach ihrem Aufruf im Skript stehen, da Bash beim Parsen alle Funktionen erkennt.
  • Eine Funktion muss nicht zwingend einen Wert zurückgeben – sie kann ausschließlich Befehle ausführen.
  • Parameterübergabe erfolgt über $1, $2, … innerhalb der Funktion.
  • Interne Funktionen können überladen werden, d. h. eine bestehende Funktion kann durch eine neue Definition ersetzt werden.
  • Befehle innerhalb von Funktionen werden wie normale Kommandos behandelt.
  • Funktionen können durch ./skript oder bash skript.sh aufgerufen werden, je nachdem, wie das Skript ausgeführt wird.

Aufgaben

  • Erstellen Sie eine Funktion `begruesse`, die einen Namen als Parameter übernimmt und "Hallo <Name>" ausgibt.
  • Rufen Sie die Funktion mehrfach mit unterschiedlichen Namen auf und überprüfen Sie die Ausgabe.