1

Mayor que y menor que con sentencias Case

En bash, en las sentencias Case no se puede usar como tal el mayor que (>), mayor o igual que (>=) y sus respectivos análogos relacionados a menor que. Sin embargo, hay como un cierto truco, que aunque no es lo mismo que los símbolos utilizados anteriormente, se aproxima mucho y puede ser de gran utilidad, ya que en ocaciones es mejor usar el case statement que usar muchos if else. No queremos un código spaguetti asqueroso.

Entonces, lo primero que debemos saber es la estructura de las sentencias case. Esta es la siguiente:

case EXPRESSION in

  PATTERN_1)
    STATEMENTS
    ;;

  PATTERN_2)
    STATEMENTS
    ;;

  PATTERN_N)
    STATEMENTS
    ;;

  *)
    STATEMENTS
    ;;
esac

Pero aquí les voy a poner un ejemplo para que vean como debe ir en un programa real:

#!/bin/bash
read -p "What is the password? " password

case$passwordin"gatitos16")    echo"Welcome";;
        *)              echo"Get ride of my view";;
esac

Una vez sabiendo esto vamos a ver como podemos utilizar los rangos para nuestros programas. Estos se utilizan con los corchetes [], donde dentro de estos va a ir el rango en el cual vamos a querer que una opcion sea elegida, este rango puede ser un numero o una letra. Es como las expresiones regulares pero no se pueden usar caracteres. En el siguiente ejemplo les quedara mas claro a que es a lo que me refiero:

#!/bin/bash
read -n1 -p "Type whatever character " char
echo-e"\r"case$charin
        [0-9]) echo"Your character is a number";;
        [A-z]) echo"Your character is a letter";;
        $) echo-e"Your character is a $";;
        \#) echo -e "Your character is a #";;
        *) echo"Your character is other different";;
esac

Aquí se puede apreciar mejor a lo que me refería, además de que se pueden usar mayúsculas y minúsculas en un mismo rango. Eso se hizo con [A-z]

Escribe tu comentario
+ 2