Saltar al contenido principal

6. Estructuras de Control

Condicionales

  • if, else, elif:

    • Descripción: Permite ejecutar comandos condicionalmente, evaluando expresiones y ejecutando diferentes bloques de código según el resultado.
    • Sintaxis:
      if [ condición ]; then
      # comandos si la condición es verdadera
      elif [ otra_condición ]; then
      # comandos si la otra condición es verdadera
      else
      # comandos si ninguna condición anterior es verdadera
      fi
    • Ejemplo:
      a=10
      b=20
      if [ $a -gt $b ]; then
      echo "a es mayor que b"
      elif [ $a -lt $b ]; then
      echo "a es menor que b"
      else
      echo "a es igual a b"
      fi
    • Operadores de comparación:
      • -eq: Igual a (equal).
      • -ne: No igual a (not equal).
      • -lt: Menor que (less than).
      • -le: Menor o igual que (less than or equal).
      • -gt: Mayor que (greater than).
      • -ge: Mayor o igual que (greater than or equal).
      • Ejemplo:
        a=10
        b=20
        if [ $a -gt $b ]; then
        echo "a es mayor que b"
        elif [ $a -lt $b ]; then
        echo "a es menor que b"
        else
        echo "a es igual a b"
        fi
  • case:

    • Descripción: Similar al switch en otros lenguajes de programación, permite ejecutar comandos basados en el valor de una variable.
    • Sintaxis:
      case $variable in
      valor1)
      # comandos para valor1
      ;;
      valor2)
      # comandos para valor2
      ;;
      *)
      # comandos para cualquier otro valor
      ;;
      esac
    • Ejemplo:
      read -p "Introduce un número entre 1 y 3: " numero
      case $numero in
      1)
      echo "Has introducido el número 1"
      ;;
      2)
      echo "Has introducido el número 2"
      ;;
      3)
      echo "Has introducido el número 3"
      ;;
      *)
      echo "Número fuera del rango 1-3"
      ;;
      esac

Bucles

  • for:

    • Descripción: Itera sobre una lista de elementos, ejecutando un bloque de comandos para cada elemento.
    • Sintaxis:
      for variable in lista; do
      # comandos
      done
    • Ejemplo:
      for i in {1..5}; do
      echo "Número: $i"
      done
  • while:

    • Descripción: Ejecuta un bloque de comandos mientras una condición sea verdadera.
    • Sintaxis:
      while [ condición ]; do
      # comandos
      done
    • Ejemplo:
      contador=1
      while [ $contador -le 5 ]; do
      echo "Contador: $contador"
      contador=$((contador + 1))
      done
  • until:

    • Descripción: Ejecuta un bloque de comandos hasta que una condición sea verdadera.

    • Sintaxis:

      until [ condición ]; do
      # comandos
      done
    • Ejemplo:

      contador=1
      until [ $contador -gt 5 ]; do
      echo "Contador: $contador"
      contador=$((contador + 1))
      done

      Bucles anidados

  • Descripción: Ejecutar un bucle dentro de otro bucle, permitiendo iterar sobre múltiples dimensiones de datos.

  • Sintaxis:

    for variable1 in lista1; do
    for variable2 in lista2; do
    # comandos
    done
    done
  • Ejemplo:

for i in {1..3}; do
for j in {1..3}; do
echo "i: $i, j: $j"
done
done