Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m122:learningunits:lu07:funktionen [2024/11/26 06:38] – msuter | modul:m122:learningunits:lu07:funktionen [2024/12/12 09:24] (aktuell) – [Variablen in Funktionen] msuter | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
</ | </ | ||
- | #### Definition einer Funktion | + | ===== Definition einer Funktion |
- | Funktionen werden in Bash folgendermaßen | + | Funktionen werden in Bash folgendermassen |
<code bash> | <code bash> | ||
Zeile 24: | Zeile 24: | ||
</ | </ | ||
- | #### Aufrufen einer Funktion | + | ===== Aufrufen einer Funktion |
Eine Funktion wird durch ihren Namen aufgerufen, ohne Klammern: | Eine Funktion wird durch ihren Namen aufgerufen, ohne Klammern: | ||
<code bash> | <code bash> | ||
Zeile 30: | Zeile 31: | ||
</ | </ | ||
- | #### Beispiel | + | ==== Beispiel |
Hier ist ein einfaches Beispiel, das eine Funktion namens `greet` definiert: | Hier ist ein einfaches Beispiel, das eine Funktion namens `greet` definiert: | ||
Zeile 44: | Zeile 46: | ||
**Ausgabe: | **Ausgabe: | ||
- | </code> | + | < |
Hallo, Welt! | Hallo, Welt! | ||
</ | </ | ||
- | #### Parameter in Funktionen | + | <WRAP center round tip 60%> |
+ | Beachte, dass die Definition der Funktion **vor** dem Aufruf stehen muss. | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Parameter in Funktionen | ||
Funktionen können Argumente wie Skripte selbst annehmen. Diese werden mit `$1`, `$2` usw. innerhalb der Funktion referenziert, | Funktionen können Argumente wie Skripte selbst annehmen. Diese werden mit `$1`, `$2` usw. innerhalb der Funktion referenziert, | ||
- | #### Rückgabewerte | + | ===== Rückgabewerte |
Funktionen können numerische Rückgabewerte verwenden, die mit dem Befehl `return` gesetzt werden: | Funktionen können numerische Rückgabewerte verwenden, die mit dem Befehl `return` gesetzt werden: | ||
<code bash> | <code bash> | ||
Zeile 72: | Zeile 81: | ||
</ | </ | ||
- | Mit Funktionen | + | ===== Variablen |
+ | In Bash sind alle Variablen standardmässig als '' | ||
+ | Daher kann jeder Teil eines Bash-Scripts, | ||
+ | Wir können jedoch eine Variable innerhalb der Funktion als '' | ||
+ | Dadurch vermeiden wir Konflikte mit anderen Variablen, die den gleichen Bezeichner haben. | ||
+ | |||
+ | | <code bash> | ||
+ | function doIt() { | ||
+ | text = ' | ||
+ | } | ||
+ | |||
+ | text = ' | ||
+ | doIt | ||
+ | echo "Hello $text" | ||
+ | </ | ||
+ | function doIt() { | ||
+ | local text = ' | ||
+ | } | ||
+ | |||
+ | text = ' | ||
+ | doIt | ||
+ | echo "Hello $text" | ||
+ | </ | ||
+ | | Hello World | Hello Universe | |