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- Namastecar- ${greet:-Hello}a remplacé la variable- greetpar la valeur par défaut car elle n’était pas définie.
- ${greet:=Bonjour}définira la valeur de- greetsur- Bonjourcar sa valeur n’a jamais été définie.
- ${greet:=Halo}n’utilisera pas la valeur par défaut- Halocar la variable- greeta été définie précédemment, c’est-à-dire- Bonjour.