Introducción a Bash: control de flujo en nuestro script (if/else)

Hoy vamos a añdadir un poco más de salsa a nuestra introdicción a Bash. Vamos a ver cómo funciona el if/else.

La estructura de un if/else en bash es la siguiente:

(el “else” es opcional).

Ojo, los corchetes deben ir siempre separados de la condición por un espacio.

Comparaciones aritméticas:

Aquí tenéis una lista de comparaciones que se pueden hacer entre números.

  • -lt : menor que (less than)
  • -gt : mayor que (greater than)
  • -le : menor o igual (less or equal)
  • -ge : mayor o igual (greater or equal)
  • -eq : igual a (equal)
  • -ne : distinto de (not equal)

Compraraciones con cadenas

  • = : igual
  • != : distinto
  • < : menor que
  • > : mayor que
  • -n c1 : se cumple si la cadena c1 no está vacía
  • -z s1 : se cumple si la cadena c1 está vacía

If anidados

Desde luego, se pueden usar if/else dentro de otros if/else, se pueden anidar sin problemas.

Ejemplo

Y para ilustrar todo esto vamos a ver un sencillo ejemplo que espera que le pasemos una palabra como parámetro:

Si lo guardamos en un fichero llamado if.sh y le damos permisos de ejecución (chmod +x if.sh) esto es lo que responderá dependiendo de qué parámetros usemos:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.