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}imprimeNamasteya que${greet:-Hello}ha sustituido la variablegreetcon el valor por defecto ya que no estaba establecido.${greet:=Bonjour}establecerá el valor degreetaBonjourya que su valor nunca fue establecido.${greet:=Halo}no utilizará el valor por defectoHaloya que la variablegreettenía un valor establecido previamente, es decir,Bonjour.