El Manual de BASH Scripting Básico para Principiantes/El básico (If-Then)

De Wikilibros, la colección de libros de texto de contenido libre.

La primera comprobación que veremos es el señor if-then, quizá el más básico.

EN BASH, se usa así:

#!/bin/bash
#Test IF
 
echo ' Adivina el valor numerico de la variable'
read A
 
if [ $A = 1 ]
then
echo 'Acertaste'
exit 0
fi
 
echo 'No acertaste'
exit

Como podemos notar, en este tipo de comprobación la condición es verificada y si se cumple las ordenes se ejecutan, y sino simplemente las salta.

Ahora bien, si necesitamos más complejidad usamos lo siguiente:

#!/bin/bash
#Test IF-ELSE
 
echo ' Adivina el valor numerico de la variable'
read A
 
if [ $A = 1 ]
then
echo 'Has acertado'
exit 0
else
echo 'Error, te has equivocado'
exit
fi

Y si queremos ponerle mas jugo al asunto:

#!/bin/bash
#Test IF-ELSE
 
echo ' Adivina el valor numerico de la variable'
read A
 
if [ $A = 1 ]
then
echo 'Has acertado'
exit 0
else
if [ $A = 2 ]
then
echo 'Estuviste cerca'
fi
fi
 
exit

Notas sobre la sintaxis:

  • No olvidemos indicar en el test entre los paréntesis que la comparación de una variable siempre debe de llevar $ (no es mismo comparar si A = 1 que $A = 1).
  • El usar mas de dos comprobadores juntos, es decir, querer usar 3 o mas comprobadores en el mismo terminará por fallar, ejemplo:
#!/bin/bash
#Test IF-ELSE
 
echo ' Adivina el valor numerico de la variable'
read A
 
if [ $A = 1 ]
then
echo 'Has acertado'
exit 0
else
if [ $A = 2 ]
then
echo 'Estuviste cerca'
fi
else
echo 'Erraste'
fi
 
exit

Notemos que la parte en negritas va a causar conflictos a la hora de ejecutar:

Bash $ line 16: error de sintaxis cerca de token no esperado `else'
Bash $ line 16: `else'

Para que esto funcione en su lugar usaremos la siguiente sintaxis:

#!/bin/bash
#Test IF-ELSE
 
echo ' Adivina el valor numerico de la variable'
read A
 
if [ $A = 1 ]
then
echo 'Has acertado'
exit 0
elif [ $A = 2 ]
then
echo 'Estuviste cerca'
else
echo 'Erraste'
fi
 
exit 0
  • EL comprobador IF, siempre termina con FI. Si olvidamos esto el script fallará.
  • Colocar el FI va al final de cada comprobador.
Herramientas personales