Estructura condicional, if.
Esta estructura ejecuta un bloque dependiendo de la evaluación de una expresión dada, también lee el valor de salida del último comando ejecutado. Su estructura es la siguiente:
if expresión
then
[bloque de comandos]
[else]
[bloque de comandos]
fi
La forma mas simple es 'if expresión then bloque de comados fi', lo que hace es evaluar la expresión y si es verdadera (o ejecución correcta) ejecuta el siguiente bloque de comandos. Con valores numéricos un valor de '0' es verdadero y un valor distinto de '0' es falso.
La forma mas completa es 'if expresión then bloque de comados else if bloque de comandos fi', lo que hace es evaluar la expresión y si es verdadera (o ejecución correcta) ejecuta el primer bloque de comandos en caso contrario el segundo bloque de comandos. Por supuesto, pueden anidarse unas estructuras 'if' dentro de otras.
#! /bin/bash
if who | grep -s matados2k >/dev/null
then
echo matados2k está en tu computadora
else
echo menos mal matados2k no está aún en tu computadora
fi
De ejecución:
matados2k@imperio:~/curso$ sh ejemplo44.sh
matados2k está en tu computadora
matados2k@imperio:~/curso$
Pero aún nos falta algo importante...
Comparación de ficheros y variables con test.
Para evaluar expresiones condicionales dentro de los 'if' se usa el comando 'test', de la siguiente forma:
test [expr]