Parameter-Übergabe: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „= Funktionen – Parameter-Übergabe = *Funktionen und Skripte in Bash können Parameter erhalten, die wie Variablen innerhalb der Funktion verfügbar sind.*…“)
 
Zeile 67: Zeile 67:
 
* Positionsparameter $1 bis $9 enthalten die ersten neun übergebenen Argumente.
 
* Positionsparameter $1 bis $9 enthalten die ersten neun übergebenen Argumente.
 
* $* und $@ unterscheiden sich in der Handhabung in Anführungszeichen:
 
* $* und $@ unterscheiden sich in der Handhabung in Anführungszeichen:
  ** "$*" → alle Parameter als eine Zeichenkette
+
** "$*" → alle Parameter als eine Zeichenkette
  ** "$@" → jeden Parameter als separates Element
+
** "$@" → jeden Parameter als separates Element
 
* Anzahl der übergebenen Parameter wird über $# ermittelt.
 
* Anzahl der übergebenen Parameter wird über $# ermittelt.
  

Version vom 17. Oktober 2025, 16:40 Uhr

Funktionen – Parameter-Übergabe

  • Funktionen und Skripte in Bash können Parameter erhalten, die wie Variablen innerhalb der Funktion verfügbar sind.*
  • Die übergebenen Parameter werden über die Positionsvariablen $1, $2, …, $9, $* oder $@ angesprochen.*

Grundprinzip

  • Bei jedem Aufruf einer Funktion oder eines Skripts können Werte übergeben werden.
  • Die Funktion/Skript verwendet $1 für den ersten Parameter, $2 für den zweiten usw.
  • $* enthält alle übergebenen Parameter als einzelne Zeichenkette.
  • $@ enthält alle übergebenen Parameter als separate Argumente, nützlich für Schleifen.

Syntax

  • FUNKTIONSNAME PARAM1 PARAM2 ...
  • ./skript.sh PARAM1 PARAM2 ...

Beispiel – Parameter an Funktion

#!/bin/bash
greet() {
    echo "Hallo $1, willkommen!"
}

greet Thomas
greet Maria
Ausgabe:
 Hallo Thomas, willkommen!
 Hallo Maria, willkommen!

Beispiel – Mehrere Parameter

#!/bin/bash
sum_numbers() {
    echo "Parameter 1: $1"
    echo "Parameter 2: $2"
    echo "Alle Parameter: $*"
}

sum_numbers 5 7
Ausgabe:
 Parameter 1: 5
 Parameter 2: 7
 Alle Parameter: 5 7

Beispiel – Übergabe an Skript

#!/bin/bash
echo "Skriptname: $0"
echo "1. Parameter: $1"
echo "2. Parameter: $2"
echo "Alle Parameter: $*"
Aufruf:
 ./mein_skript.sh rot blau
Ausgabe:
 Skriptname: ./mein_skript.sh
 1. Parameter: rot
 2. Parameter: blau
 Alle Parameter: rot blau

Hinweise

  • Positionsparameter $1 bis $9 enthalten die ersten neun übergebenen Argumente.
  • $* und $@ unterscheiden sich in der Handhabung in Anführungszeichen:
    • "$*" → alle Parameter als eine Zeichenkette
    • "$@" → jeden Parameter als separates Element
  • Anzahl der übergebenen Parameter wird über $# ermittelt.

Aufgaben

  • Erstellen Sie eine Funktion greet_user die den Namen und die Stadt als Parameter erhält und ausgibt: "Hallo NAME aus STADT".
  • Schreiben Sie ein Skript summe.sh, das zwei Zahlen als Parameter erhält und ihre Summe ausgibt.
  • Erstellen Sie ein Skript, das alle übergebenen Parameter nacheinander ausgibt und am Ende die Anzahl der Parameter angibt.