systemadmin.es > Script > Valor por defecto de una variable en bash

Valor por defecto de una variable en bash

En el caso que necesitemos ver si una variable tiene o no algún valor definido, y en caso que no, asignarle algún valor por defecto, lo podemos hacer con un condicional if:

#!/bin/bash

if [ -z "$EJEMPLO" ];
then
	EJEMPLO=1
fi

Pero existe una forma mucho más sencilla.

En el caso anterior podemos ver que si no se define la variable EJEMPLO, por defecto, nos muestra 1:

# ./test.sh 
1
# EJEMPLO=3 ./test.sh 
3

Podemos conseguir lo mismo indicando con un guión el valor por defecto a usar si no esta definida la variable, por lo que el script se quedaría simplemente con:

#!/bin/bash

echo ${EJEMPLO-1}

Consiguiendo el mismo resultado con muchas menos lineas:

# ./test.sh 
1
# EJEMPLO=3 ./test.sh 
3

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>