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}
imprimeNamaste
car${greet:-Hello}
a remplacé la variablegreet
par la valeur par défaut car elle n’était pas définie.${greet:=Bonjour}
définira la valeur degreet
surBonjour
car sa valeur n’a jamais été définie.${greet:=Halo}
n’utilisera pas la valeur par défautHalo
car la variablegreet
a été définie précédemment, c’est-à-direBonjour
.