Attribuer une valeur par défaut dans Bash

Aashish Sunuwar 21 mars 2022
Attribuer une valeur par défaut dans Bash

Cet article présentera les approches utilisées pour fournir une valeur par défaut aux variables dans les scripts bash.

Fournir une valeur par défaut à une variable dans un script bash

L’approche de base que nous suivons tout en fournissant une valeur par défaut dans un script bash est ci-dessous.

variable={$variable:-value}

Mais nous pouvons utiliser une meilleure forme abrégée en utilisant deux-points au début.

: ${variable:=value}

Les deux-points au début ignorent les arguments.

Utilisez ${variable-value} ou ${variable-value}

echo ${greet-hello}
echo ${greet:-hello}
greet=
echo ${greet-hello}
echo ${greet:-hello}

Production :

hello
hello

hello

La principale différence entre l’utilisation de ${greet-hello} et ${greet-hello} est que ${greet-hello} utilisera la valeur par défaut hello si la variable greet n’a jamais été définie. à une valeur. D’autre part, ${greet-hello} utilisera la valeur par défaut si la variable n’a jamais reçu de valeur ou si elle a été définie sur null, c’est-à-dire greet.

Utilisez ${variable:-value} ou ${variable:=value}

echo ${greet:-Hello}
echo ${greet:-Namaste}
echo ${greet:=Bonjour}
echo ${greet:=Halo}

Production :

Hello
Namaste
Bonjour
Bonjour

L’utilisation de :- remplacera la variable par la valeur par défaut, tandis que := attribuera la valeur par défaut à la variable.

Dans l’exemple donné,

  • ${greet:-Namaste} imprime Namaste car ${greet:-Hello} a remplacé la variable greet par la valeur par défaut car elle n’était pas définie.
  • ${greet:=Bonjour} définira la valeur de greet sur Bonjour car sa valeur n’a jamais été définie.
  • ${greet:=Halo} n’utilisera pas la valeur par défaut Halo car la variable greet a été définie précédemment, c’est-à-dire Bonjour.

Article connexe - Bash Variable