Asignar valor predeterminado en Bash
Este artículo presentará los enfoques utilizados para proporcionar un valor predeterminado a las variables en los scripts bash.
Proporcionar un valor predeterminado a una variable en un script Bash
El enfoque básico que seguimos al proporcionar un valor predeterminado en un script bash se encuentra a continuación.
variable={$variable:-value}
Pero podemos usar una mejor forma abreviada de esto usando dos puntos al principio.
: ${variable:=value}
Los dos puntos al principio ignoran los argumentos.
Utilice ${variable-value}
o ${variable:-value}
echo ${greet-hello}
echo ${greet:-hello}
greet=
echo ${greet-hello}
echo ${greet:-hello}
Producción :
hello
hello
hello
La diferencia clave entre usar ${greet-hello}
y ${greet:-hello}
es que ${greet-hello}
usará el valor predeterminado hello
si la variable saludar
nunca se estableció a un valor. Por otro lado, ${greet:-hello}
utilizará el valor predeterminado si la variable nunca se estableció en un valor o se estableció en nulo, es decir, greet=
.
Utilice ${variable:-value}
o ${variable:=value}
echo ${greet:-Hello}
echo ${greet:-Namaste}
echo ${greet:=Bonjour}
echo ${greet:=Halo}
Producción :
Hello
Namaste
Bonjour
Bonjour
El uso de :-
sustituirá la variable con el valor predeterminado, mientras que :=
asignará el valor predeterminado a la variable.
En el ejemplo dado,
${greet:-Namaste}
imprimeNamaste
ya que${greet:-Hello}
ha sustituido la variablegreet
con el valor por defecto ya que no estaba establecido.${greet:=Bonjour}
establecerá el valor degreet
aBonjour
ya que su valor nunca fue establecido.${greet:=Halo}
no utilizará el valor por defectoHalo
ya que la variablegreet
tenía un valor establecido previamente, es decir,Bonjour
.