HOWTO · Bash
Standardwert in Bash zuweisen
In diesem Artikel werden verschiedene Ansätze zum Bereitstellen eines Standardwerts für eine Variable in Bash vorgestellt
In diesem Artikel werden die Ansätze vorgestellt, die zum Bereitstellen eines Standardwerts für die Variablen in Bash-Skripten verwendet werden.
Geben Sie einen Standardwert für eine Variable in einem Bash-Skript an
Der grundlegende Ansatz, dem wir folgen, während wir einen Standardwert in einem Bash-Skript bereitstellen, ist unten.
variable={$variable:-value}
Wir können dies jedoch besser abkürzen, indem wir am Anfang einen Doppelpunkt verwenden.
: ${variable:=value}
Der Doppelpunkt am Anfang ignoriert die Argumente.
Verwendung von ${variable-value} oder ${variable:-value}
echo ${greet-hello}
echo ${greet:-hello}
greet=
echo ${greet-hello}
echo ${greet:-hello}
Ausgabe:
hello
hello
hello
Der Hauptunterschied zwischen der Verwendung von ${greet-hello} und ${greet:-hello} besteht darin, dass ${greet-hello} den Standardwert hello verwendet, wenn die Variable greet nie gesetzt wurde zu einem Wert. Andererseits verwendet ${greet:-hello} den Standardwert, wenn die Variable nie auf einen Wert gesetzt wurde oder auf null gesetzt wurde, d.h. greet.
Verwendung von ${variable:-value} oder ${variable:=value}
echo ${greet:-Hello}
echo ${greet:-Namaste}
echo ${greet:=Bonjour}
echo ${greet:=Halo}
Ausgabe:
Hello
Namaste
Bonjour
Bonjour
Die Verwendung von :- ersetzt die Variable durch den Standardwert, während := der Variablen den Standardwert zuweist.
Im angegebenen Beispiel
${greet:-Namaste}gibtNamasteaus, da${greet:-Hello}diegreet-Variable durch den Standardwert ersetzt hat, da sie nicht gesetzt war.${greet:=Bonjour}setzt den Wert vongreetaufBonjour, da sein Wert nie gesetzt wurde.${greet:=Halo}verwendet nicht den StandardwertHalo, da die Variablegreetzuvor auf den WertBonjourgesetzt wurde.