Standardwert in Bash zuweisen

Aashish Sunuwar 21 März 2022
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} gibt Namaste aus, da ${greet:-Hello} die greet-Variable durch den Standardwert ersetzt hat, da sie nicht gesetzt war.
  • ${greet:=Bonjour} setzt den Wert von greet auf Bonjour, da sein Wert nie gesetzt wurde.
  • ${greet:=Halo} verwendet nicht den Standardwert Halo, da die Variable greet zuvor auf den Wert Bonjour gesetzt wurde.

Verwandter Artikel - Bash Variable