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…“)
 
Zeile 3: Zeile 3:
 
*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 {
+
* FUNKTIONSNAME() {
 
*    Befehle
 
*    Befehle
 
* }
 
* }
* oder kürzer
+
* Alternativ mit function-Keyword:
* FUNKTIONSNAME() {
+
* function FUNKTIONSNAME {
 
*    Befehle
 
*    Befehle
 
* }
 
* }
  
 
== Beispiel – einfache Funktion ==
 
== Beispiel – einfache Funktion ==
* greet() {
+
<syntaxhighlight lang=bash>
*     echo "Hallo Welt"
+
greet() {
* }
+
     echo "Hallo Welt"
* greet
+
}
 +
greet
 +
</syntaxhighlight>
  
 
  Ausgabe:
 
  Ausgabe:
 
   Hallo Welt
 
   Hallo Welt
  
== Beispiel – Funktion mehrfach aufrufen ==
+
== Beispiel – Funktion mit Parametern ==
* greet() {
+
<syntaxhighlight lang=bash>
*     echo "Hallo $1"
+
greet() {
* }
+
     echo "Hallo $1"
* greet Thomas
+
}
* greet Maria
+
greet Thomas
 +
greet Maria
 +
</syntaxhighlight>
  
 
  Ausgabe:
 
  Ausgabe:
Zeile 39: Zeile 46:
 
== 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 – sie müssen mit * beginnen, wenn sie in einem Beispielskript gezeigt werden.
 +
* Funktionen können durch ./skript oder bash skript.sh aufgerufen werden, je nachdem, wie das Skript ausgeführt wird.

Version vom 17. Oktober 2025, 16:31 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
Ausgabe:
 Hallo Welt

Beispiel – Funktion mit Parametern

greet() {
    echo "Hallo $1"
}
greet Thomas
greet Maria
Ausgabe:
 Hallo Thomas
 Hallo 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 – sie müssen mit * beginnen, wenn sie in einem Beispielskript gezeigt werden.
  • Funktionen können durch ./skript oder bash skript.sh aufgerufen werden, je nachdem, wie das Skript ausgeführt wird.