LU05c - Parameter und Argumente

Shell Prog: Kapitel 3.1 - 3.3

In Bash werden Parameter und Argumente verwendet, um Daten an Skripte oder Funktionen zu übergeben. Sie ermöglichen es, Skripte dynamisch zu gestalten und Eingaben zur Laufzeit zu verarbeiten.

Ein Parameter ist ein Platzhalter, der mit einem Wert (Argument) gefüllt wird. Parameter können positionsbasiert oder speziell sein:

  • Positionsparameter sind Parameter, die durch $0, $1, $2, … referenziert werden.
  • $0: Der Name des aufgerufenen Skripts.
  • $1, $2, …: Die übergebenen Argumente in der Reihenfolge ihrer Position.
  $#: Anzahl der übergebenen Argumente.
  $@: Liste aller Argumente (als separate Einträge).
  $*: Liste aller Argumente (als eine Zeichenkette).
  $$: Prozess-ID des aktuellen Skripts.
  $?: Exit-Status des zuletzt ausgeführten Befehls.

Argumente sind die tatsächlichen Werte, die beim Aufruf eines Skripts oder einer Funktion an die Parameter übergeben werden.

bash mein_skript.sh Hallo Welt
  • Hier ist mein_skript.sh der Skriptname ($0).
  • Hallo ist das erste Argument ($1).
  • Welt ist das zweite Argument ($2).
#!/bin/bash
echo "Skriptname: $0"
echo "Erstes Argument: $1"
echo "Zweites Argument: $2"
echo "Anzahl der Argumente: $#"
echo "Alle Argumente (einzeln): $@"
echo "Alle Argumente (als Zeichenkette): $*"
bash mein_skript.sh Hallo Welt
Skriptname: mein_skript.sh     # Name des Skripts ($0)
Erstes Argument: Hallo         # Erstes Argument ($1)
Zweites Argument: Welt         # Zweites Argument ($2)
Anzahl der Argumente: 2        # Anzahl der Argumente ($#)
Alle Argumente (einzeln): Hallo Welt   # Alle Argumente ($@)
Alle Argumente (als Zeichenkette): Hallo Welt   # Alle Argumente als eine Zeichenkette ($*)
Ausdruck Bedeutung
$@ Jedes Argument als separates Element.
$* Alle Argumente als eine einzige Zeichenkette.
#!/bin/bash
for arg in "$@"; do
  echo "Argument (mit \$@): $arg"
done
 
for arg in "$*"; do
  echo "Argument (mit \$*): $arg"
done

Ausführung mit:

bash mein_skript.sh "Hallo Welt" Test

Ergebnis:

Argument (mit $@): Hallo Welt
Argument (mit $@): Test
Argument (mit $*): Hallo Welt Test
  • Parameter: Platzhalter in einem Skript oder einer Funktion ($1, $2, etc.).
  • Argumente: Werte, die beim Aufruf übergeben werden.
  • Besondere Parameter wie $@ und $# bieten zusätzliche Kontrolle und Flexibilität.

Mit diesen Tools können Sie Skripte schreiben, die flexibel auf Benutzer- oder Systemeingaben reagieren.


Marcel Suter

  • modul/m122/learningunits/lu05/argumente.txt
  • Zuletzt geändert: 2024/11/18 08:28
  • von msuter