Standardwert in Bash zuweisen
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}
gibtNamaste
aus, da${greet:-Hello}
diegreet
-Variable durch den Standardwert ersetzt hat, da sie nicht gesetzt war.${greet:=Bonjour}
setzt den Wert vongreet
aufBonjour
, da sein Wert nie gesetzt wurde.${greet:=Halo}
verwendet nicht den StandardwertHalo
, da die Variablegreet
zuvor auf den WertBonjour
gesetzt wurde.
Verwandter Artikel - Bash Variable
- Ändern Sie eine globale Variable innerhalb einer Funktion in Bash
- Bash-Variablen multiplizieren
- Befehle in einer Variablen im Bash-Skript ausführen
- Geltungsbereich der Bash-Variablen
- Inkrementiere den Variablenwert um eins in der Shell-Programmierung
- Überprüfen Sie, ob eine Variable einen Wert in Bash hat