Condicionales IF

Una de las cosas más comunes que necesitamos realizar en nuestros scripts es controlar el flujo. La condicional IF nos sirve para lograrlo.

Sintaxis

Estructura Básica

if [ expresión ]; then
     realizar esto si es verdadero
elif [ expresión 2]; then
     realizar este bloque
else
     realizar esto si no se cumple ninguna de las anteriores
fi


Evaluando expresiones

if [ expresión1 ] && [ expresión2 ]; then
     realizar esto si las dos son verdaderas

fi
...
if [ expresión1 ] \\ [ expresión2 ]; then
     realizar esto si una de las dos son verdaderas


fi
...
if ![ expresión1 ]; then
     realizar esto si no es verdadero


fi

Operadores


Operadores de comparación de cadenas alfanuméricas
Cadena1 = Cadena2 Verdadero si Cadena1 es IGUAL a Cadena2
Cadena1 != Cadena2 Verdadero si Cadena1 NO es IGUAL a Cadena2
Cadena1 < Cadena2 Verdadero si Cadena1 es MENOR a Cadena2
Cadena1 > Cadena2 Verdadero si Cadena1 es MAYOR que Cadena2
-n Cadena1 Verdadero si Cadena1 NO ES NULO (tiene algún valor)
-z Cadena1 Verdadero si Cadena1 ES NULO (está vacía o no está definida)


Operadores de comparación de valores numéricos. 
Numero1 -eq Numero2 Verdadero si Numero1 es IGUAL a Numero2. (equal)
Numero1 -ne Numero2 Verdadero si Numero1 NO es IGUAL a Variable2. (not equal)
Numero1 -lt Numero2 Verdadero si Numero1 es MENOR a Variable2. (less that)
Numero1 -gt Numero2 Verdadero si Numero1 es MAYOR que Variable2. (greater that)
Numero1 -le Numero2 Verdadero si Numero1 es MENOR O IGUAL que Numero2. (less or equal).
Numero1 -ge Numero2 Verdadero si Numero1 es MAYOR O IGUAL que Numero2 . (greater or equal).

Operadores de codicionales con ficheros
-a fichero Verdadero si el fichero existe
-d fichero Verdadero si el fichero existe, y es un fichero de tipo directorio
-f fichero Verdadero si el fichero existe, y es un fichero regular
-r fichero Verdadero si el fichero existe y se puede leer
-w fichero Verdadero si el fichero existe y se puede escribir
-x fichero Verdadero si el fichero existe y se puede ejecutar
fichero1 -nt fichero2 Verdadero si el fichero1 es más nuevo que el fichero2
fichero1 -ot fichero2 Verdadero si el fichero1 es más viejo que el fichero2

Comentarios

Entradas más populares de este blog

Comando echo + Uso de Comillas + Caracteres especiales

Funciones