Lesen von Kommandozeilenargumenten

Bash:
Lesen von Kommandozeilenargumenten

Wie geht das?

#!/bin/bash
# script.sh

echo "Das erste Argument ist: $1"
echo "Das zweite Argument ist: $2"
echo "Alle Argumente: $@"
echo "Anzahl der Argumente: $#"

Ausführen des Skripts:

$ bash script.sh Apfel Birne
Das erste Argument ist: Apfel
Das zweite Argument ist: Birne
Alle Argumente: Apfel Birne
Anzahl der Argumente: 2

Tiefgang

Die $1, $2… Variablen sind Positionalparameter, die Bash direkt zur Verfügung stellt. $@ ist eine spezielle Variable, die alle Argumente als Liste enthält. $# gibt die Anzahl der übergebenen Argumente an.

In den frühen Unix-Tagen wurden Skriptargumente für die Anpassung an verschiedene Kontexte und Aufgaben verwendet. Heute sind sie genauso relevant, da sie die Skripte vielseitig und interaktiv machen.

Alternativen umfassen getopts und getopt für komplexere Szenarien mit benannten Argumenten und Optionen.

Im Kern ermöglicht Bash, dass Argumente unterschiedlichen Positionen zugeordnet und separat oder zusammen abgefragt werden können.

Siehe auch