Curso de Programación en Bash Shell

Curso de Programación en Bash Shell

Marco Antonio Toscano Freire

Marco Antonio Toscano Freire

Reto 3

19/43

Lectura

Reto 3:

  1. Solicitar que se ingrese un valor del 1 al 5.

  2. Según el valor ingresado, hacer la validación utilizando las condicionales e imprimir el resultado.

  3. Construir expresiones de validación numéricas, cadenas y archivos según la opción ingresada.

Aportes 70

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Mi reto 3

Mi solución al challenge:

Repositorio

#!/bin/bash

# Program:
#    This program asks the user to enter a number between 1 and 5.
#    If the user enters a number between 1 and 5, the program displays
#    the corresponding message.

entered_number=0


read -n1 -p "Enter a number between 1 and 5: " entered_number
echo -e "\n"

if [ $entered_number -eq 1 ]; then
    echo "You entered 1"
elif [ $entered_number -eq 2 ]; then
    echo "You entered 2"
elif [ $entered_number -eq 3 ]; then
    echo "You entered 3"
elif [ $entered_number -eq 4 ]; then
    echo "You entered 4"
elif [ $entered_number -eq 5 ]; then
    echo "You entered 5"
else
    echo "You did not enter a number between 1 and 5"
fi

Mi reto 3.

#! /bin/bash
#Reto 3
#Autor Jose Suarez

read -p "Ingrese su nombre: " nombre

echo -e "\n Bienvenido $nombre \n"
echo "+++++++++++++++++++++++++++++++"
echo "     Reto al conocimiento"
echo -e "+++++++++++++++++++++++++++++++\n"

echo "1.- Matematica"
echo "2.- Deportes"
echo "3.- Historia"
echo "4.- Arte"
echo "5.- Geografia"
echo -e "\n++++++++++++++++++++++++++++++++\n"                                                          
read -n1 -p "Ingrese su opcion: " opcion                                                                
echo -e "\n"                                                                                                                                                                                                    case $opcion in
1) read -p " ¿Cual es la raiz cuadrada de 16? " respmat                                                         
if [ $respmat = "4" ]; then                                                                                 
echo "Correcto, la raiz cuadrada de 16 es 4"                                                        
else                                                                                                        
echo "Respuesta incorrecta, la raiz cuadrada de 16 no es $respmat"                                  fi;;  
                                                                                                                                                                                                  2) read -p " ¿Que organismo que gobierna las federaciones de fútbol en todo el mundo? " respdep                 
if [ $respdep = "fifa" ] || [ $respdep = "FIFA" ] || [ $respdep = "Fifa" ] ; then                           
echo "Correcto, la FIFA"                                                                            
else                                                                                                        
echo "Respuesta incorrecta, no es $respdep"                                                         
fi;;
                                                                                                                                                                                                    3) read -p " ¿Cual es el apellido del Libertador de América? " resphis                                          
if [ $resphis = "Bolivar" ] || [ $resphis = "BOLIVAR" ] || [ $resphis = "bolivar" ]; then                       
echo "Correcto, el Libertador de América es Simón Bolivar"                                          
else                                                                                                        
echo "Respuesta incorrecta, el apellido del Libertador no es $resphis"                              fi;;        

4) read -p " ¿En qué año nació el Pintor Italiano Leonardo da Vinci? " respart
if [ $respart = "1452" ]; then
                echo "Correcto, Leonardo da Vinci nació en el 1452 y murió en el año 1519"
 else
                echo "Respuesta incorrecta, Leonardo da Vinci no nacio en el año $respart"
  fi;;

5) read -p " ¿Cual es la capital de Austria? " respgeo
            if [ $respgeo = "Viena" ] || [ $respgeo = "VIENA" ] || [ $respgeo = "viena" ]; then
                echo "Correcto, la capital de Austria es Viena"
            else
                echo "Respuesta incorrecta, $respgeo no es la capital de Austria"
            fi;;
 esac        

MI RETO3:

<h1>!/bin/bash</h1> <h1>RETO3</h1> <h1>Autor: Paul Manrique</h1>

option=0
edad=0
numero=0
texto1="“
texto2=”“
ruta1=”“
ruta2=”"

echo ""
echo "// DEBE INGRESAR UN VALOR ENTRE 1 y 5 \
"
echo "
***********"
echo “1: VALIDAR EDAD 1 - 122 *****************"
echo "2: NUMERO ENTRE 1 - 10 / VALIDAR SI ES PRIMO "
echo "3: COMPARAR 2 CADENAS DE TEXTO ****************************"
echo "4: VALIDAR SI EXISTE ARCHIVO "
echo "5: VALIDAR SI EXISTE ARCHIVO Y TIENE PERMISOS DE LECTURA
"
echo "

read -n1 -p “Ingrese el numero:” option
echo -e “\n”

if [ $option = 0 ] || [ $option -ge 5 ]; then
echo ""
echo "ERROR - El numero ingresado: $option - No esta dentro de los parametros"
echo "
"
fi

case $option in

1 ) echo "******************"
echo "INGRESE EDAD"
echo "******************"
echo -e "\n"
read -p "Edad: " edad

if [ $edad -le 17 ]; then
    echo "Eres menor de edad"
elif [$edad -ge 18 ] && [ $edad -le 122 ]; then
    echo "Eres mayor de edad, pero no la persona mas longeva en el mundo segun Guiness"
else [ $edad -ge 122 ]
    echo "Eres la persona mas longeva en el mundo segun Guiness"
fi;;

2 ) echo ""
echo "INGRESE NUMERO A VALIDAR ENTRE 1 Y 10"
echo "
"
echo -e "\n"
read -p "Numero: " numero
echo -e “\n”

if ($numero = 2) || ($numero = 3) || ($numero = 5) || ($numero = 7); then
    echo "El numero ingresado es primo: $numero"
else
    echo "El numero ingresado NO es primo $numero"
fi;;
  1. echo ""
    echo "INGRESE CADENAS DE TEXTO A COMPARAR"
    echo "
    "
    echo -e "\n"
    read -p "Primera cadena de texto: " texto1
    read -p "Segunda cadena de texto: " texto2

    if [ $texto1 = $texto2 ]; then
    echo "Las cadenas de texto ingresadas son iguales"
    else
    echo "Las cadenas de texto son diferentes"
    fi;;

  2. echo ""
    echo "VALIDAREMOS SI EXISTE EL DIRECTORIO"
    echo "
    "
    echo -e "\n"
    read -p “Favor ingrese RUTA:” ruta1

    if [ -d “$ruta1” ]; then
    echo "El path o ruta: $ruta1"
    echo "SI - si existe"
    else
    echo "El path o ruta: $ruta1"
    echo "NO - no existe"
    fi;;

  3. echo ""
    echo "***VALIDAREMOS SI:
    "
    echo "TIENE PERMISOS DE LECTURA
    "
    echo "
    ************************"
    echo -e "\n"
    read -p “Favor ingrese RUTA” ruta2

    if [ -r “$ruta2” ]; then
    echo "El directorio ingresado: $ruta2"
    echo "SI - POSEE PERMISOS DE LECTURA"
    else
    echo "El directorio ingresado: $ruta2"
    echo "NO - POSEE PERMISOS DE LECTURA"
    fi;;

esac

  1 #!/bin/bash
  2
  3 choice=""
  4 flag="s"
  5
  6 while [ $flag = "s" ]
  7 do
  8 echo "Ingrese una opcion"
  9 echo -e "a)     \nb)        \nc)        \nd)        \ne)        \n"
 10
 11 read -n1 -p "Que deseas hacer?      " choice
 12
 13 case "$choice" in
 14 "a") echo -e "\n\neleccion A\n";;
 15 "b") echo -e "\n\neleccion B\n";;
 16 "c") echo -e "\n\neleccion C\n";;
 17 "d") echo -e "\n\neleccion D\n";;
 18 "e") echo -e "\n\neleccion E\n";;
 19 esac
 20 read -n1 -p "continuaras? [s/n]
 21 " flag
 22
 23 done

# !/bin/bash
# Programa menu basico
# Autor: Adan Galicia

opcion=0
numeroCompu=6

echo "Menu Simple"
read -n1 -p "Ingrese una opcion de la 1-5:" opcion
echo -e "\n"
case $opcion in
    1) read -n3 -p "Escribe tu número favorito: " numeroFavorito
        if [ $numeroFavorito -lt 11 ]; then
            echo -e "\nEl numero es magico"
        elif [ $numeroFavorito -ge 10 ] && [ $numeroFavorito -le 100 ]; then
            echo -e "\nEl numero es universal"
        else
            echo -e "\nEl numero es universal"
        fi
        ;;
    2) read -n1 -p "Adivina en que número estoy pensando (0-9): " numeroUsuario
        if [ $numeroUsuario -lt $numeroCompu ]; then
            echo -e "\nTu numero es menor al mio"
        elif [ $numeroUsuario -gt $numeroCompu ]; then
            echo -e "\nTu numero es mayor al mio"
        elif [ $numeroUsuario = $numeroCompu ]; then
            echo -e "\nFelicidades, has ganado"
        else
            echo -e "\nHas encontrado una opcion imposible"
        fi
        ;;
    3) read -p "Ingrese un color (en minusculas): " color
        if [ $color = "rojo" ]; then
            echo -e "\nTu color es rojo"
        elif [ $color = "azul" ]; then
            echo -e "\nTu color es azul"
        elif [ $color = "blanco" ]; then
            echo -e "\nTu color es blanco"
        else
            echo -e "\nEse color aún no esta registrado"
        fi
        ;;
    4) read -p "Ingrese un path para ver si exite: " path
        if [ -d $path ]; then
            echo -e "\nEl path $path existe"
        else
            echo -e "\nEl path $path NO existe"
        fi
        ;;
    5) echo -e "\nHasta la proxima";;
    "*") echo "Opcion Incorrecta"
esac

Mi reto 3

# !/bin/bash
  
# Reto 3: Solicitar que ingrese un valor del 1 al 5. Segun el valor a ingresado validarlo utilizando las condicionales e imprimir segun el valor ingresado. Construir expresiones de validación númericas, cadenas y archivos según opcion ingresada.

option=""


echo "Ingrese el numero correspondiente a la operación que desea realizar."
echo "1) Cuál es mi directorio actual?"
echo "2) Fecha y hora actual"
echo "3) Nombre de Usuario actual"
echo "4) Saber si un package se encuetra instalado"
echo "5) Saber que permisos tengo sobre el directorio actual"

read -p "Ingrese una opcion: " option
echo ""

case $option in

        1) pwd;;

        2) date;;

        3) whoami;;

        4) read -p "Ingrese el nombre del package: " package
                dpkg -s $package;;

        5) ls -la;;

        *) echo "La opción ingresada no es valida.";;
esac

#!/bin/bash
#Reto 3
#Escrito por: Abner Recinos

opcion=0
continuar=1
cadena="“
cadena2=”"

while [ $continuar == 1 ]
do
echo " El Preguton (presione un número para comenzar) "
echo " 1.- ¿Es una vocal? "
echo " 2.- Validar numero par "
echo " 3.- Multiplo exacto: "
echo " 4.- ¿Existe este archivo? "
echo " 5.- Verificar existencia de folder "
echo " 6.- Salir "
echo " "

read -n1 -p "" opcion
echo " "

case $opcion in

    1 ) read -n1 -p "Escriba una letra: " cadena
        echo ""
        case $cadena in
            "A" ) echo "es una vocal"
            ;;
            "a" ) echo "es una vocal"
            ;;
            "E" ) echo "es una vocal"
            ;;
            "e" ) echo "es una vocal"
            ;;
            "I" ) echo "es una vocal"
            ;;
            "i" ) echo "es una vocal"
            ;;
            "O" ) echo "es una vocal"
            ;;
            "o" ) echo "es una vocal"
            ;;
            "U" ) echo "es una vocal"
            ;;
            "u" ) echo "es una vocal"
            ;;
            * ) echo "No es una vocal"
            ;;
        esac
    ;;
    2 ) read -p "Escriba un número:" cadena
        let modulo=$cadena%2 
        if [ $modulo == 0 ]
        then
            echo "El número es par"
        else
            echo "El número es impar"
        fi
    ;;
    3 ) echo "Ingrese dos números"
        read -p  "Valor 1:" cadena
        read -p  "Valor 2:" cadena2
        let modulo=$cadena%$cadena2 
        if [ $modulo == 0 ]
        then
            echo "Es exacto"
        else
            echo "Inexacto, el modulo es $modulo"
        fi
    ;;
    4 ) read -p "Ingrese la ruta del archivo" cadena
        if [ -f $cadena ]
        then
            echo "Si"
        else
            echo "No"
        fi
    ;;
    5 ) read -p "Ingrese la ruta de la carpeta" cadena
        if [ -d $cadena ]
        then
            echo "Si"
        else
            echo "No"
        fi
    ;;
    6 ) echo "Hasta pronto"
        continuar=0
        #exit #para este caso tambien puede usarse esta opcion
    ;;
    * ) echo "No esta dentro de las opciones"
    ;;
esac
read -p "presione cualquier tecla para continuar" -s cadena 
echo ""

done

#!/bin/bash
#Script de resolución reto 3
# Solicitar que se ingrese un valor del 1 al 5. Según el valor ingresado valor a validarlo utilizando las condicionales e imprimir según el valor ingresado. Construir expresiones de valida
ción númericas, cadenas y archivos según la opción ingresada.

echo "
_____________________._______   _________
\__    ___/\______   \   \   \ /   /  _  \
  |    |    |       _/   |\   Y   /  /_\  \
  |    |    |    |   \   | \     /    |    \
  |____|    |____|_  /___|  \___/\____|__  /
                   \/                    \/
"

echo "Elija 1 pregunta e intente responderla correctamente!"
echo "1) Pregunta de Geografia"
echo "2) Pregunta de Historia"
echo "3) Pregunta de Ciencias"
echo "4) Pregunta de Política"
echo "5) Pregunta de Informática"
echo -e ""
read -n1 -p "Escriba el número del tipo de pregunta (1-5) :=> " option

echo -e ""

case $option in
        1) read -p "¿Cuál es la capital de Nueva Zelanda? " answerCapital
                if [ $answerCapital = "Wellington" ]; then
                        echo "Excelente! Respuesta correcta!"
                else
                        echo "Lo siento, $answerCapital no es la Capital de Nueva Zelanda!"
                fi
                ;;
        2) read -p "¿Cuántos años duró la guerra de los 100 años? " answerGuerra
                if [ $answerGuerra -eq 116 ]; then
                        echo "Excelente! Respuesta correcta!"
                else
                        echo "Lo siento, la Guerra de los 100 años no duró $answerGuerra años!"
                fi
                ;;
        3) read -p "¿Cuánto dura la luz del sol en llegar a la tierra?[minutos] " answerLuzSol
                if [ $answerLuzSol -eq 8 ]; then
                        echo "Excelente! Respuesta correcta!"
                else
                        echo "Lo siento, la luz del sol no llega a la tierra en $answerLuzSol minutos!"
                fi
                ;;
        4) read -p "¿Cómo se llama el primer presidente de Nicaragua? " answerPresidente
                if [ "$answerPresidente" = "Emiliano Chamorro" ]; then
                        echo "Excelente! Respuesta correcta!"
                else
                        echo "Lo siento, "$answerPresidente" no fue el primer presidente de Nicaragua!"
                fi
                ;;
        5) read -p "¿Cuántos bits hay en un Kilobyte? " answerKilo
                if [ $answerKilo -eq 8192 ]; then
                        echo "Excelente! Respuesta correcta!"
                else
                        if [ $answerKilo -gt 8192 ]; then
                                echo "Lo siento, un Kilobyte es un poco menos que $answerKilo bits!"
                        else
                                echo "Lo siento, un Kilobyte es un poco más que $answerKilo bits!"
                        fi
                fi
                ;;

esac

!/bin/sh

Solicitar Lista de Opciónes de 1 a 5

Segun el valor ingreaado, hacer la validación utilizando las condicionales e imprimir el resultado

Construir expresiones de validación numericas, cadenas y archivos según la opción ingresada

multiopcion=’’’’

echo "Programa multi-opciones con funcion case"
echo "1 - Registrar Nombre y Apellido"
echo "2 - Registrar Profesion"
echo "3 - Registrar Edad"
echo "4 - Registrar Sexo"
echo "5 - Cancelar"
read -p "Elija una opción con un numero entre 1 y 5: " multiopcion

Val_Name=’^[a-z]{1,15}$‘
Val_Apellido=’^[a-z]{1,15}$‘
Val_Dir=’^[a-z]{1,200}$‘
Val_Edad=’^[0-9]{1,3}$‘
Val_Sexo=’^F|M$’

case $multiopcion in
1)
read -p "Digite su nombre en minusculas: " Name
# Validación del nombre
if [[ $Name =~ $Val_Name ]];
then
echo "CORRECTO!!!"
else
echo "INVALIDO"
fi

    read -p "Digite su apellido en minusculas: " Apellido
    # Validación del apellido
        if [[ $Apellido =~ $Val_Apellido ]];
        then
            echo "CORRECTO!!!!"
        else
            echo "INVALIDO"
        fi
;;


2)
    read -p "Digite su profesion en minusculas: " Dir
    # Validación del profesion
        if [[ $Dir =~ $Val_Dir ]];
        then
            echo "CORRECTO!!!!"
        else
            echo "INVALIDO"
        fi

;;


3)
    read -p "Digite su edad con numeros: " Edad
    # Validación del edad
        if [[ $Edad =~ $Val_Edad ]];
        then
            echo "CORRECTO!!!!"
        else
            echo "INVALIDO"
        fi

;;

4)

    read -p "Digite su sexo F|M: " Sexo
    # Validación del edad
        if [[ $Sexo =~ $Val_Sexo ]];
        then
            echo "CORRECTO!!!!"
        else
            echo "INVALIDO"
        fi

;;

5)
    echo "Eligio la opcion de cancelar. feliz día!!"
;;

*)
    echo "Opcion INCORRECTA vuelva a ejecutar el programa"
;;

esac

aca mi humilde codigo

  1 #!/bin/bash
  2 # Reto numero 3
  3 # Autor: Santiago Molina Ibañez - [email protected]
  4
  5 valor=0
  6
  7 read -p "Indique un valor 1-5 a mostrar: " valor
  8 if [ $valor -eq 1 ]; then
  9     echo "su valor es Uno"
 10 elif [ $valor -eq 2 ]; then
 11     echo "su valor es Dos"
 12 elif [ $valor -eq 3 ]; then
 13     echo "su valor es Tres"
 14 elif [ $valor -eq 4 ]; then
 15     echo "su valor es Cuatro"
 16 elif [ $valor -eq 5 ]; then
 17     echo "su valor es Cinco"
 18 else
 19     echo "su valor es incorrecto"
 20 fi

Mi Reto 3 solucionado

validation="^[1-5]$"
value=0

read -n1 -p "ïngrese el valor: " value
echo -e "\n"

echo "VALIDACION UNO" | lolcat
if (( $value >= 1 )) && (( $value <= 5 )); then
    echo "el valor '$value' esta entre 1 y 5" | lolcat
else
    echo "el valor '$value' no esta entre 1 y 5" | lolcat
fi

echo "VALIDACION DOS" | lolcat
if [[ $value =~ $validation ]]; then
    echo "el valor '$value' esta entre 1 y 5" | lolcat
else
    echo "el valor '$value' no esta entre 1 y 5" | lolcat
fi
# !/bin/bash
# Reto 3

echo "¿Que prefieres que te pregunte?"
echo "1 Tu edad"
echo "2 Tu dirección"
echo "3 Tu nombre"
echo "4 Tu pàsión"
echo "5 Tu  comidad favorita"
read -n1 -p "Seleccione su opción: " option
echo -e "\n"

if [ $option -eq 1 ]; then
    read -p "¿Cuál es tu edad?" edad
elif [ $option -eq 2 ]; then
    read -p "¿cuál es tu dirección?: " adress
elif [ $option -eq 3 ]; then
    read -p "¿cuál es tu nombre?: " name
elif [ $option -eq 4 ]; then
    read -p "¿cuál es tu pasión?: " passion
elif [ $option -eq 5 ]; then
    read -p "¿cuál es tu comida favorita?: " food
fi

Mi challenge
####################

!/bin/bash

#Reto nro 3

nro1=0
usuarioActual=whoami
usuarioIngresado="“
dirIngresado=”“
crearDir=”"

read -p "Ingrese el nro de archivos a crear: " nro1
if (($nro1 > 10));then
echo "El nro de archivos debe ser menor que 10"
else
echo "Se crearon $nro1 archivos"
fi

echo -e “####################################################\n”

echo "Validar si usted es el usuario actual"
read -p “Ingrese el usuario:” usuarioIngresado

if [ $usuarioActual = $usuarioIngresado ]; then
echo "Usted es el usuario $usuarioActual"
else
echo "Usted no es superusuario"
fi

echo -e “####################################################\n”

echo “Comprobar si el directorio existe”

read -p "Ingrese el directorio a comprobar: " dirIngresado

if [ -d $dirIngresado ]; then
echo “Si existe el directorio: $dirIngresado”

else
echo "El directorio $dirIngreado no existe,"
read -n1 -p “Desea crearlo (y/n) :” crearDir
if [ $crearDir = “y” ]; then
echo -e "\nDirectorio $dirIngresado creado exitosamente"
fi
fi

echo -e “####################################################\n”

Mi reto 3

#!/bin/bash
#Author: Erick Valeriano @fishviche

echo -n1 "--------------- INGRESE SU OPCION ---------------"
echo -e "\n"
echo "[1] Matemtica"
echo "[2] Comparativo"
echo "[3] Comprabar existencia de archivo"
echo "[4] Mostar IMC"
echo "[5] Descargar archivo"

read -n1 option
echo -e "\n"

case $option in
    1)
    read -p "Por favor ingrese el primer numero: " num1
    read -p "Por favor ingrese el segundo numero: " num2
    echo "La suma es: $(( $num1 + $num2 ))"
    echo "La resta es: $(( $num1 - $num2 ))"
    echo "La multiplicacion es: $(( $num1 * $num2 ))"
    echo "La division es: $(( $num1 / $num2 ))"
    ;;
    2)
    read -p "Por favor ingrese el primer numero: " num1
    read -p "Por favor ingrese el segundo numero: " num2
    if [ $num1 -gt $num2 ]; then
        echo "El numero $num1 es mayor que el numero $num2"
    elif [ $num1 -lt $num2 ]; then
        echo " EL numero $num1 es menor que el numero $num2"
    else
        echo "Ambos numeros son iguales"
    fi
    ;;
    3)
    read -p "Por favor ingrese el nombre del archivo: " filExists
    routeFile=`pwd`/$filExists
    if [ -f $routeFile ]; then
        echo "El archivo existe"
    else
        echo "El archivo no existe"
    fi
    ;;
    4)
    read -p "Ingrese su tamano (en m): " altura
    read -p "Ingrese su peso (en kilogramos): " peso
    IMC=$(echo "scale=2; $peso/($altura*$altura)" | bc -l)
    echo "Tu IMC es: $IMC"
    #OTRA FORMA
    #echo "$altura $altura" | awk '{print $1 * $2}'
    
    ;;
    5)
    curl -d '{"perParId": 2021, "fecPresentacion": null}' -H "Content-Type: application/json" https://wb2server.congreso.gob.pe/spley-portal-service/proyecto-ley/lista-con-filtro > proyectos_ley.txt
    echo "Descarga finalizada"
    ;;
    *)
    echo "Por favor ingrese una opcion correcta"
    ;;
esac

Este es mi reto el juego del Ahorcado,…

!/bin/bash
#Programa Reto 3
#Autor: Jorge Cl

saved=""
fail=0
Int=6
sum=1
letter=2

echo "Reto 3"
echo "***********Vamos a jugar**********"
echo "******Seleciona solo 1 juego******"
echo "1 Ahorcado"
echo "2 "
echo "3 "
echo "4 "
echo "5 "
read -p "Selecione una opción del [1-5]" option

case "$option" in
1)
    echo "*******Vas a Jugar ahorcado******"
    read -p "Escribe una palabra: " word
    largo=${#word}
    for ((i = 1 ; i <= $largo ; i++)); 
    do
    shrt=$(echo "$word" | cut -c$i)
#    echo "Siguiente letra: $shrt"
#    read -p "Escribe la primera letra " letter
    while [ $letter != $shrt ]
    do

    read -p "Escribe la primera letra " letter
    if [[ $letter =~ $shrt ]]; then
        echo "Bien hecho"
        saved=$saved$letter
        echo "Letras cocatenadas correctas: $saved"
        if [[ $saved =~ $word ]]; then
            echo "\ \n FELICITACIONES HAS GANADO EL 3ER RETO PLATZI BASH"
        fi
    fi

    if [[ $letter != $shrt ]] && [[ $fail -le 7 ]]; then
        fail=$(($fail+$sum))
        echo "La has popiado # de fails $fail !Ojo máximo tienes 7 oportunidades no las desperdicies¡: "
        
        if [[ $fail -eq 1 ]]; then
            echo "______"
            echo "|     |"  
            echo "|"
            echo "|"
            echo "__"
        
        fi
        if  [[ $fail -eq 2 ]]; then        
        echo "______"
        echo "|     |"
        echo "|     0"
        echo "|"
        echo "|"
        echo "__"
        fi

        if  [[ $fail -eq 3 ]]; then        
        echo "______"
        echo "|     |"
        echo "|     0"
        echo "|     | "
        echo "|"
        echo "|"
        echo "__"
        fi

        if  [[ $fail -eq 4 ]]; then        
        echo "______"
        echo "|     |"
        echo "|     0"
        echo "|    /| "
        echo "|"
        echo "|"
        echo "__"
        fi


        if  [[ $fail -eq 5 ]]; then        
        echo "______"
        echo "|     |"
        echo "|     0"
        echo "|    /|\\"
        echo "|"
        echo "|"
        echo "__"
        fi

        if  [[ $fail -eq 6 ]]; then        
        echo "______"
        echo "|     |"
        echo "|     0"
        echo "|    /|\\"
        echo "|    / "
        echo "|"
        echo "__"
        fi

        if  [[ $fail -eq 7 ]]; then        
        echo "Perdiste vuelve a correr el programa"
        echo "______"
        echo "|     |"
        echo "|     0"
        echo "|    /|\\"
        echo "|    / \\"
        echo "|"
        echo "__"
        exit
        fi

        fi
       done
   done
 
;;
2)

;;

3)

;;
4)

;;
5)

;;
esac

Comparto mi version para el reto:

#!/bin/bash
# Reto #3

echo "Curso de Programacion en Bash Shell - Reto #3"
echo "---------------------------------------------"

valNombre='^[a-zA-Z]+[a-zA-Z ]*$'
valEdad='^([1-9]|[1-9][0-9])$'
valSexo='masculino|femenino'
valPais='^[a-zA-Z]+[a-zA-Z ]*$'
valIdioma='^[a-zA-Z]+[a-zA-Z ]*$'

echo "Opciones disponibles:"
echo "1: Nombre"
echo "2: Edad"
echo "3: Sexo"
echo "4: Pais"
echo "5: Idioma"
echo "0: Salir del Programa"
read -p "Ingrese un valor valido: " valor
case $valor in
    0)
        echo "Fin del Programa"
        exit 0
        ;;
    1)
        echo "El valor ingresado es  : $valor (CONSULTA DE NOMBRE)"
        read -p "Ingrese su nombre      : " nombre
        if [[ "$nombre" =~ $valNombre ]]; then
            echo "El nombre $nombre es VALIDO"                  
        else
            echo "El nombre $nombre es INVALIDO"                  
        fi 
        ;;  
    2)
        echo "El valor ingresado es  : $valor (CONSULTA DE EDAD)"
        read -p "Ingrese su edad        : " edad
        if [[ "$edad" =~ $valEdad ]]; then
            echo -e "La edad $edad es VALIDA. "                  
            if [ "$edad" -ge 18 ]; then
               echo -e "Usted es MAYOR DE EDAD"
            else
               echo -e "Usted es MENOR DE EDAD" 
            fi
        else
            echo "La edad $edad es INVALIDA"                  
        fi 
        ;;  
    3)
        echo "El valor ingresado es  : $valor (CONSULTA DE SEXO)"
        read -p "Ingrese su sexo        : " sexo
        if [[ "${sexo,,}" =~ $valSexo ]]; then
            echo "El sexo $sexo es VALIDO"                  
        else
            echo "El sexo $sexo no esta registrado"                  
        fi 
        ;;  
    4)
        echo "El valor ingresado es  : $valor (CONSULTA DE PAIS)"
        read -p "Ingrese su pais        : " pais
        if [[ "$pais" =~ $valPais ]]; then
            echo "El pais ingresaso es $pais"                  
        else
            echo "El nombre de pais $pais es INVALIDO"                  
        fi 
        ;;  
    5)
        echo "El valor ingresado es  : $valor (CONSULTA DE IDIOMA)"
        read -p "Ingrese su idioma      : " idioma
        if [[ "$idioma" =~ $valIdioma ]]; then
            echo "El idioma ingresado es $idioma"                  
        else
            echo "El idioma $idioma es INVALIDO"                  
        fi 
        ;;                
    *)
        echo "El Valor ingresado es: $valor (OPCION NO VALIDA)"
        ;;
esac

Buenas! Comparto mi resolución al reto, saludos!


# !/bin/bash

#Programa para ejempificar un menú.

#Autor:  Nicolás Rodríguez @chino.rodgz


echo "Por favor ingrese un número según corresponda: "
echo "----------------------(1) Crear un archivo ------------------------------"
echo "----------------------(2) Multiplicar -----------------------------------"
echo "----------------------(3) Quiz ------------------------------------------"
echo "----------------------(4) Validación de usuario -------------------------"
echo "----------------------(5) Salir -----------------------------------------"

read -p "Opción: " option


clear
case "$option" in

1)

    echo "Ingrese el nombre del archivo "
    read -p "Nombre: " archiveName
    echo "Ingrese la extensión del archivo (Por ejemplo 'txt')"
    read -p "Extensión: " archiveExtension
    touch $archiveName.$archiveExtension

;;
                                                       2,0-1         Top 


3)
    echo "¿En qué año Colón llegó por primera vez a América?"
    read -p "Respuesta: " answer

    if [[ $answer == "1492" ]];then
        echo "Muy bien! Esa es la respuesta correcta!"
    else
        echo "Su respuesta es incorrecta. Fue en el año 1492."
    fi
;;

4)
    echo "Ingrese un nombre de usuario por favor"
    read -p "usuario: " userName
    if [[ $userName == "Nico" ]];then
        echo "Nombre de usuario válido"
    else
        echo "Nombre de usuario inválido"
    fi

;;

5)
    exit 0

;;

*) echo "Ingrese una opción válida por favor";;
esac
shift

#!/bin/bash
#reto3
#Solicitar valor del 1 al 5

regnumero=’^([1-5]{1})$‘
regrut=’^([0-9]{8}±[0-9Kk]{1})‘
regfecha=’^([0-9]{4}±[1-12]{2}±[0-9]{1,2})$’

read -p “Ingrese numero (1-5) :” numero
if [[ $numero =~ $regnumero ]]; then
echo "numero valido"
else
echo "numero no valido"
fi

echo “Numero ingresado es:” $numero

#Según el valor ingresado, hacer la validación utilizando las condicionales e imprimir el resultado.

#Construir expresiones de validación numéricas, cadenas y archivos según la opción ingresada.

read -p “Ingrese RUT (111111111-1):” rut
if [[ $rut =~ $regrut ]]; then
echo "correcto"
else
echo "Incorrecto"
fi

echo “RUT :” $rut

read -p “Ingrese fecha de Nacimiento: (aaaa-mm-dd) :” fecha
if [[ $fecha =~ $regfecha ]]; then
echo “correcto”

Reto 3

#Solicitar que se ingrese un valor del 1 al 5. Según el valor ingresado valor a validarlo utilizando las condicionales e imprimir según el valor ingresado. Construir expresiones de validaciòn númericas, cadenas y archivos según la opción ingresada.

opcion=""
echo "Menu"
echo "1 - suma de numeros"
echo "2 - resta de numeros"
echo "3 - Ejercicio matematico"
echo "4 - Pregunta!!"
echo "5 - Existe el directorio?"

read -p "Ingrese la opción" opcion

case $opcion in
	"1") echo -e "\nSuma"
		read -p "ingrese 1 numero: " num1
		read -p "ingrese otro numero: " num2
		echo "la suma de los numeros es $(($num1 + $num2))";;

        "2") echo -e "\nResta"
		read -p "ingrese 1 numero: " num1
		read -p "ingrese otro numero: " num2
		echo "la resta de los numeros es $(($num1 - $num2))";;
	
	"3") echo -e "\nEjercicio"
	        read -p "8+1*5=" resultado
		if [ $resultado == 13 ]; then
			echo "correcto el resultado es $resultado"
		else
			echo "$resultado no es el resultado esperado"
		fi;;
        "4") echo -e "\nResponda la pregunta"
		read -p "Que planeta tiene como apado 'El planeta rojo': " respuesta
		if [ $respuesta == "marte" ]; then
			echo "Respuesta correcta"
		else
			echo "$respuesta es incorrecta"
		fi;;
	"5") echo -e "\nValidar si existe un directorio"
		read -p "Ingrese un path de directorio:" directorio
		if [ -d $directorio ]; then
			echo "Si existe el path"
		else
			echo "No existe el path"
		fi;;
	*) echo "opción no valida, solo van desde el 1 al 5"
esac

Mi reto 3

Reto 3

# !/bin/bash
# Programa que recibe una opción numérica, la imprime en pantalla
# y valida qué tipo de respuesta introdujo el usuario

option=""
numRegex='^[0-9]*$'
strRegex='^[a-z,A-Z,0-9,!"#$%&/()=?¡¿]*$'

echo "Validador de entrada"
read -p "Introduzca una opción del 1 al 5: " option
if [[ "$option" =~ $numRegex ]]; then
    if [ "$option" -eq "1" ]; then
        echo "Seleccionaste la opción $option"
    elif [ "$option" -eq "2" ]; then
        echo "Seleccionaste la opción $option"
    elif [ "$option" -eq "3" ]; then
        echo "Seleccionaste la opción $option"
    elif [ "$option" -eq "4" ]; then
        echo "Seleccionaste la opción $option"
    elif [ "$option" -eq "5" ]; then
        echo "Seleccionaste la opción $option"
    else
        echo "Opción inválida: fuera del rango numérico"
    fi
elif [[ "$option" =~ $strRegex ]]; then
    echo "Opción inválida: Has introducido una cadena de texto"
else
    echo "Opción inválida: No reconocida"
fi

Mi reto 3 con validaciones regex

# ! /bin/bash
# Programa para ejemplificar el uso de condicionales con validaciones numéricas, cadenas y archivos

op=0

echo "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*"
echo "1. Ingresa tu fecha de nacimiento"
echo "2. Ingresa tu nombre completo"
echo "3. Ingresa el nombre de tu CV en pdf"
echo "4. Ingresa tu código postal"
echo "5. Ingresa el código de tu estado"
echo "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*"
echo -e "\n"
read -n1 -p "Ingresa una opción del 1-5: " op
echo -e "\n"

dobRgx='^(19|20)[0-9]{2}-[0-9]{2}-[0-9]{2}$'
nombreRgx='^[A-z]{100}$'
cvRgx='^.+\.pdf$'
cpRgx='^[0-9]{5}$'
estadoRgx='^[A-Z]{3}$'

clear

if [ $op -eq 1 ]; then
    read -p "Fecha de Nacimiento: " dob
    echo -e "\n"
    if [[ $dob =~ $dobRgx ]]; then
        echo "Fecha de nacimiento ingresada correctamente"
    else
        echo "Fecha incorrecta, favor de ingresar en el formato YYYY-mm-dd"
    fi
elif [ $op -eq 2 ]; then
    read -p "Primer Nombre: " nombre
    echo -e "\n"
    if [[ $nombre =~ $nombreRgx ]]; then
        echo "Nombre ingresado correctamente"
    else
        echo "Nombre incorrecto, favor de ingresar solo letras"
    fi
elif [ $op -eq 3 ]; then
    read -p "CV en formato pdf: " cv
    echo -e "\n"
    if [[ $cv =~ $cvRgx ]]; then
        echo "Archivo pdf ingresado correctamente"
    else
        echo "CV incorrecto, favor de ingresar un archivo con extensión .pdf"
    fi
elif [ $op -eq 4 ]; then
    read -p "Código Postal: " cp
    echo -e "\n"
    if [[ $cp =~ $cpRgx ]]; then
        echo "Código postal ingresado correctamente"
    else
        echo "Código postal incorrecto, favor de ingresar un código de 5 digitos"
    fi
elif [ $op -eq 5 ]; then
    read -p "Código de Estado: " estado
    echo -e "\n"
    if [[ $estado =~ $estadoRgx ]]; then
        echo "Código de estado ingresado correctamente"
    else
        echo "Código de estado incorrecto, favor de ingresar un código de 3 carácteres de longitud"
    fi
else
    echo "Usted ha ingresado una opción incorrecta: $op"
fi

cumpliendo con el reto 😀

#!/bin/bash
# Programa para solicitar un valor del 1 al 5,
# Según el valor ingresado, hacer la validación utilizando las codicionales e imprimir el resultado
# Construir expresiones de validación numéricas, cadesna y archivos según la opción ingresada
# Autor: stevensocio - [email protected]

option=0

echo "RETO #3"
echo "1- Validar la fecha yyyy-mm-dd"
echo "2- Validar el año actual."
echo "3- Validar que día de la semana estamos."
echo "4- Validar en que mes estamos."
echo "5- Validar en que día del mes estamos."
echo "Ingresa un número del 1 al 5 de acuerdo al menú."
read -n 1 -p "> " option
echo -e "\n"

if [ $option == 1 ]; then
    echo "Vamos a validar la fecha actual"
    read -p "Ingresa la fecha en formato yyyy-mm-dd > " date
    GET_DATE=$(date +"%Y-%m-%d")
    if [ $date == $GET_DATE ]; then
        echo "La fecha es correcta, estamos a $GET_DATE"
    else
        echo "La fecha que ingresaste $date no es correcta :("
        echo "La fecha correcta es > $GET_DATE"
    fi
elif [ $option == 2 ]; then
    echo "Vamos a validar el año actual"
    read -p "En que año estamos > " year
    GET_YEAR=$(date +"%Y")
    if [ $year == $GET_YEAR ]; then
        echo "El año es correcto."
    else
        echo "El año que ingresaste $year no es correcto :("
        echo "El año actual es > $GET_YEAR"
    fi
elif [ $option == 3 ]; then
    echo "Vamos a validar que día de la semana estamos"
    read -p "Ingresa el día de la semana de hoy > " weekday
    PARSE_LOWER_CASE="${weekday,,}"
    GET_WEEKDAY=$(date +"%A")
    if [ $PARSE_LOWER_CASE == $GET_WEEKDAY ];then
        echo "El día de la semana es correcto, hoy estamos a $GET_WEEKDAY"
    else
        echo "El día de la semana que ingresaste $PARSE_LOWER_CASE no es correcto"
        echo "El día de la semana es $GET_WEEKDAY"
    fi
elif [ $option == 4 ]; then
    echo "Vamos a validar en que mes estamos"
    read -p "Ingresa el mes en que estamos > " month
    PARSE_LOWER_CASE="${month,,}"
    GET_MONTH=$(date +"%B")
    if [ $PARSE_LOWER_CASE == $GET_MONTH ];then
        echo "El mes es correcto, el mes actual es $GET_MONTH"
    else
        echo "El mes que ingresaste $PARSE_LOWER_CASE no es correcto"
        echo "El mes actual es $GET_MONTH"
    fi
elif [ $option == 5 ]; then
    echo "Vamos a validar en que día del mes estamos"
    read -p "Ingresa el día del mes de hoy > " day
    GET_DAY=$(date +"%d")
    if [ $day == $GET_DAY ]; then
        echo "El día es correcto, hoy estamos a $GET_DAY"
    else
        echo "El día que ingresaste $day no es correcto :("
        echo "El día de hoy es > $GET_DAY"
    fi
fi

Me sirvio específicamente para una tarea, pero aplique el concepto.

#!/bin/bash
#Imprimir datos a partir de los valores ingresados, a través de las condicionales if, else.
#Autor: Chanchi

# Variables

value=0
echo "Calculadora de la función -x^3"
read -p "Digite un valor del 1 al 5 para hallar x, no se admite décimales y valores no indicados dentro del rango: " value

if (( $value == 1 )); then
    echo "El valor de la función de $value es: f(1)= y =" $(( (-1)*1*1 ))
elif (( $value == 2 )); then
    echo "El valor de la función de $value es: f(2)= y =" $(( (-2)*2*2 ))
elif (( $value == 3 )); then
    echo "El valor de la función de $value es: f(3)= y =" $(( (-3)*2*2 ))
elif (( $value == 4 )); then
    echo "El valor de la función de $value es: f(4)= y =" $(( (-4)*4*4 ))
elif (( $value == 5 )); then
    echo "El valor de la función de $value es: f(5)= y =" $(( (-5)*5*5 ))
else
    echo "El valor que digito o no es el indicado o está fuera del rango de los números indicados, no seas un troll eh ;)"
fi
#!/bin/bash
#¡¡ IMPORTANTE !! -> la ruta para que encuentre el archivo debe ser canviada en funcion  de donde este el archivo
optionRegex="^[1-3]{1}$"
numeroRegex="^[1-5]{1}$"
pais=""
path_archivo=""

echo "Esto es un juego"
sleep 1
echo -e "\nEMPEZEMOS!"
echo -e "\n"

read -p "Elige una opción del 1- 3: " option
        case $option in
         1) read -p "Tengo 5 euros y las manzanas cuestan 1,2€, ¿cuantas puedo comprar?: " numero
             if [[ $numero =~ $numeroRegex ]] && [[ $numero -lt 5 ]]; then
              echo "Enhorabuena, lo has acertado, puedo comprar menos de 5 manzanas"
             else
              echo "Vuelve a primaria chabal"
             fi
            ;;
         2) read -p "¿Donde preferírias vivir? " pais
             if [[ $pais = "Islandia"  ]] || [[ $pais = "islandia" ]]; then
              echo "Yo tambien quiero vivir allí"
             else
              echo -e "\n¿Enserio? ¿No prefieres vivir en Islandia?"
              sleep 2
              echo -e "\n¿Quién no quiere vivir en Islandia?"
              sleep 1
              echo -e "\n..."
              sleep 1
              echo -e "\nBicho raro"
             fi
            ;;
         3) read -p "¿Donde esta el archivo reto_3.sh?: " path_archivo
             if [[ -e $path_archivo ]] && [[ $path_archivo = "/home/choverivan/shellCourse/reto_3.sh" ]]; then
              echo "Has encontrado el archivo reto3"
             elif [[ -d $path_archivo ]] && [[ $path_archivo = "/home/choverivan/shellCourse" ]]; then
              echo "Has encontrado el directorio del curso"
             else
              echo "No se lo que estas buscando"
             fi
            ;;
         *) echo  "Esa opción es incorrecta"
        esac

Mi reto basado en la validación de archivos:

#!/usr/bin/bash
# Reto 3

option=0
path=""

echo "===================================="
echo "===================================="
echo "===== Verificación de archivos ====="
echo "Ingrese una opción:"
echo "1. Validar directorio"
echo "2. Validar archivo"
echo "3. Validar permisos de lectura"
echo "4. Validar permisos de escritura"
echo "5. Validar permisos de ejecución"
echo -e "6. Validar si archivo posee contenido\n"
read
option=$REPLY

if [[ $option -gt 6 ]] || [[ $option -lt 1 ]]; then
    echo "Opción inválida"
    exit
fi

echo -e "Ingrese la ruta a verificar"
read
path=$REPLY

case $option in
    1)
        if [[ -d $path ]]; then
            echo "Es un directorio válido"
        else
            echo "No es un directorio válido"
        fi;;
    2)
        if [[ -e $path ]]; then
            echo "Es un archivo válido"
        else
            echo "No es un archivo válido"
        fi;;
    3)
        if [[ -r $path ]]; then
            echo "Posee permisos de lectura"
        else
            echo "No posee permisos de lectura"
        fi;;
    4)
        if [[ -w $path ]]; then
            echo "Posee permisos de escritura"
        else
            echo "No posee permisos de escritura"
        fi;;
    5)
        if [[ -x $path ]]; then
            echo "Posee permisos de ejecución"
        else
            echo "No posee permisos de ejecución"
        fi;;
    6)
        if [[ -s $path ]]; then
            echo "Posee contenido"
        else
            echo "No posee contenido"
        fi;;
   
 esac
 exit

Aqui mi aporte:

! /bin/bash

#reto3
#@Autor: Jared

key=“password”

read -n1 -p "Ingrese Una Opcion (1-5) " opcion

case $opcion in
1) echo -e "\nOpcion 1 (Comparacion de Numeros)\n"
read -n1 -p "Ingrese un Numero (0-9) " num1
echo -e "\n"
read -n1 -p "Ingrese otro Numero (1-5) " num2

if [ $num1 -lt $num2 ]; then
    echo -e "\n$num1 es menor que $num2"
elif [ $num1 -gt $num2 ]; then
    echo -e "\n$num1 es mayor que $num2"
elif [ $num1 -eq $num2 ]; then
    echo -e "\n$num1 es igual a  $num2"
fi
;;
2) echo -e "\nOpcion 2 (Comparacion de Cadenas)\n"
read -p "Cual es el password? " pass

if [ $pass = $key ]; then
    echo -e "\nAcceso Correcto"
else
    echo -e "\nAcceso Incorrecto, se notificara al administrador del sistema!"
fi
;;
3) echo -e "\nOpcion 3 (Comparacion de Directorios)\n"
read -p "Cual es el Archivo/Directorio a Buscar? " dire

if [ -e $dire ]; then
    echo -e "\nEl Archivo/Directorio Existe"
else
    echo -e "\nEl Archivo/Directorio no Existe!"
fi
;;
4) echo -e "\nOpcion 4 - Operacion No Implementada";;
5) echo -e "\nOperacion 5  - Ha Salido Correctamente";;
*) echo -e "\nOperacion No Permitida";;

esac

Solución a reto 3

#!/bin/bash
# programa reto 3:
#Solicitar que se ingrese un valor del 1 al 5.
# Según el valor ingresado valor a validarlo utilizando las condicionales e imprimir según el valor ingresado. 
# Construir expresiones de validación numéricas, cadenas y archivos según la opción ingresada.
# Autor: Carlos Javier García Contreras

opcion=""

echo "Menú básico de reto 3 platzi"
echo "Ingresa la opción que deses con un número"
echo "1) mostrar fecha actual"
echo "2) mostrar la cantidad de procesadores"
echo "3) mostrar kernel"
echo "4) mostrar calendario"
echo "5) mostrar la versión de vim "
read  -n1 -p  "Ingresa un valor del 1 al 5: " opcion
echo -e "\n"

echo "Seleccionó la opción: "$opcion 

case $opcion in 
    "1") echo "fecha actual" ; date   ;;
    "2") echo "Cantidad de procesadores" ; nproc   ;;
    "3") echo "versión kernel" ; uname -r   ;;
    "4") echo "Calendario" ; date   ;;
    "5") echo "versión de vim " ; vim --version |head -n1  ;;
      *) echo "solo se pueden seleccionar del 1 al 5"
esac

Me tarde mas de 3 horas pero al fin lo termine :’) 😂 por si alguien quiero usarlo como guía para hacer el suyo.


|

|

|

#!/bin/bash
#RETO 3 Solicitar que se ingrese un valor del 1 al 5. Según el valor ingresado valor a validarlo utilizando las condicionales e imprimir según el valor ingresado. Construir expresiones de validaciòn númericas, cadenas y archivos según la opción ingresada.

option=0

echo -e "=====================BIENVENIDO===================\n"
echo -e "MENU\n[1]-Resta\n[2]-Multiplicacion\n[3]-Suma\n[4]-Division\n[5]-Potencia\n"
read -p "Ingresa una opcion: " option

case $option in
    1)
    read -p "Ingresa el primer numero: " n1
    read -p "Ingresa el segundo numero: " n2
    if [ $n2 -gt $n1 ]; then
        echo "No podemos hacer operaciones negativas"
    else
        echo "El resultado es: $((n1 - n2))"
    fi
    ;;
    2)
    read -p "Ingresa el primer numero: " n1
    read -p "Ingresa el segundo numero: " n2
    echo "El resultado es: $((n1*n2))"
    ;;
    3)
    read -p "Ingresa el primer numero: " n1
    read -p "Ingresa el primer numero: " n2
    echo "El resultado es: $((n1+n2))"
    ;;

    4)
    read -p "Ingresa el dividendo: " n1
    read -p "Ingresa el divisor: " n2
    echo "El resultado es: $((n1/n2))"
    ;;
    5)
    read -p "Ingresa el numero: " n1
    read -p "Ingresa el la potencia: " n2
    echo "El resultado es: $((n1 ** n2))"
    ;;
    *) echo "Selecciona una opcion correcta";;

esac

Espero su retroalimentación

<code>
```#!/bin/bash
#Reto del profesor
#Alumno jdavilar [email protected]

software=""
validar=0

echo "Que software deseas descargar en tu servidor"
echo "A) Apache"
echo "B) Nginx"
echo "C) Mysql"

read -p "las opciones son [A-C]" software

case $software in
    "A")
        echo "Se descargara Apache desde el sitio original"
        read -p "Confirma oprimiendo (1) si  deseas descargar el archivo zip de la web principal" validar
        if [ $validar -eq 1 ]; then
            echo "se descarga"
            wget https://downloads.apache.org/tomcat/tomcat-8/v8.5.54/bin/apache-tomcat-8.5.61.zip
        else
            echo "No se descarga"
        fi;;
    "B")
        echo "Se descargra Nginx desde el sitio original"
        read -p "Confirma oprimiendo (2) si  deseas descargar el archivo zip de la web principal" validar
        if [ $validar -eq 2 ]; then
            echo "se descarga"
        apt-get install nginx
        else
            echo "No se descarga"
        fi;;
    "C")
        echo "se descargara Mysql desde el sitio original"
        read -p "Confirma oprimiendo (3) si  deseas descargar el archivo zip de la web principal" validar
        if [ $validar -eq 3 ]; then
            echo "se descarga"
            apt install mysql_server
        else
            echo "No se descarga"
        fi;;
     *) echo "No selecionaste ninguna opcion, bye"
esac



Done!

#!/bin/bash

<h1>Challenge 3</h1> <h1>Autor: John Florez</h1>

option=0
name="“
age=0
file_path=”"
name_regex=’^([A-Z]{1}[a-z]+)\s?([A-Z]{1}[a-z]+)?$’

echo "Verify Information"
echo "1 -Name"
echo "2 -Age"
echo "3 -CV path"
echo "4 -Exit"
read -p "Choose an option (1 - 4): " option
echo -e “\n”

while [ ! $option -eq 4 ]
do
case $option in
1)
echo -n "Type your name: "
read
name=$REPLY
if [[ $name =~ $name_regex ]]; then
echo "It is a valid name"
else
echo "It is not a valid name"
fi
echo -n "Choose an option (1 - 4): "
read
option=$REPLY;;
2)
echo -n "Type your age: "
read
age=$REPLY
if [[ $age -ge 18 ]]; then
echo "You can continue the process"
echo -n "Choose an option (1 - 4): "
read
option=$REPLY
else
echo "You cannot continue the process."
option=4
fi;;

3) 
    echo -n "Type the CV path: "
    read
    file_path=$REPLY
    if [ -d $file_path ]; then
        echo "It is a valid path."
    else
        echo "It is not a valid path."
    fi
    echo -n "Choose an option (1 - 4): "
    read
    option=$REPLY;;
*) 
    echo -e "\nInvalid option"
    echo -n "Choose an option (1 - 4): "
    read
    option=$REPLY;;

esac
done

Listo

#!/bin/bash
# Programa para utilziat expresiones Case
# DBZ

opcion=""

echo "Ejemplo Sentencia Case"
read -p "Ingrese su calificacion del curso del 1 - 5:" opcion
echo -e "\n"

case $opcion in
    "1") echo -e "Esto es un curso!!!!!!";;
    "2") echo -e "Curso malo.";;
    "3") echo -e "Curso regular.";;
    "4") echo -e "Curso bueno.";;
    "5") echo -e "Curso excelente.";;
    [6-9]) echo -e "Esta calificaciones no se puede evaluar.";;
    "*") "Opción Incorrecta"
esac   

echo "Ud selecciono la opcion: $opcion"
# !/usr/bin/fish

set-l count
set-l stars

whiletrue
    read -n1 -P '¿Cuántas estrellitas le darías a este curso? (1-5)> ' count

    if string match --regex --quiet '^[1-5]$'$count
        break
    else
        echo'Por favor, introduce un número del 1 al 5'
    end
end

# String ######################################################################
echo-e'\nWith the `string` builtin command'
echo'Gracias por darle estás estrellitas al curso '(string repeat -n $count'🌟')

# For #########################################################################
for ignore in (seq $count)
    set stars "$stars🌟"
end

echo-e'\nWith `for`'
echo"Gracias por darle estás estrellitas al curso $stars"

# Switch-case #################################################################
switch $count
    case'1'
        set stars '🌟'
    case'2'
        set stars '🌟🌟'
    case'3'
        set stars '🌟🌟🌟'
    case'4'
        set stars '🌟🌟🌟🌟'
    case'5'
        set stars '🌟🌟🌟🌟🌟'
    case'*'
        exit 1 # Should not be reached
end

echo-e'\nWith `switch-case`'
echo"Gracias por darle estás estrellitas al curso $stars"

Creo que esta mal redactada la pregunta

# !/bin/bash
# Reto 3: Condicionales

opcion=0

echo "Reto de ocpiones condicionales"
echo -e "\n"
echo "Seleccione una de las siguientes opciones [1-5]"
echo "1. Abrir archivo"
echo "2. Guardar archivo"
echo "3. Gardar archivo con diferente nombre"
echo "4. Copiar archivo"
echo "5. Cerrar archivo"
echo -e "\n"
read -p ": "
case $opcion in
    1) echo "Eligió Abrir archivo...";;
    2) echo "Eligió Guardar archivo...";;
    3) echo "Eligió Guardar archivo con diferente nombre...";;
    4) echo "Eligió Copiar archivo...";;
    5) echo "Eligió Cerrar archivo...";;
    *) echo "La opción que eligió no se encuentra dentro del listado, vuelva a intentar."
esac
[email protected]:/media/sf_shellCourse$ ./reto3.sh 
Reto de ocpiones condicionales


Seleccione una de las siguientes opciones [1-5]
1. Abrir archivo
2. Guardar archivo
3. Gardar archivo con diferente nombre
4. Copiar archivo
5. Cerrar archivo


: t
La opción que eligió no se encuentra dentro del listado, vuelva a intentar.

# ! \bin\bash
# Programa para  Ejecutar Comandos Case.
# Autor:Luis Taque Diaz


letra=""
numero=0
archiv=""

echo "Reto if "
read -n1 -p "Ingrese una opcion de la A - D: " letra
case $letra in
        "A") echo " Con esta letra Escribimos la palabra Arbol ";;
        "B") echo " Buba";;
        "C") echo " C de Case";;
        "D") echo " D de do";;
        [E-Z]) echo " Opcion No Habilitada"
esac
echo -e "\n"

read -n1 -p " Ingrese Un Numero de la 1-3 : " numero
if [ $numero -eq 1 ]; then
        echo " Ingresaste el Numero Uno"
elif [ $numero -eq 2 ]; then
        echo " Ingresaste el Numero Dos"
elif [ $numero -eq 3 ]; then
        echo " Ingresaste el Numero Tres"
else
        echo "Numero No Valido "
fi

read -p " Ingrese Un Nombre de Archivo : " archivo

if [ -f $archivo ]; then
        echo "Archivo Existe"
else
        echo "No existe el Archivo"
fi

echo "Reto Completado de Forma Existosa"


# !/bin/bash
# Programa para ejemplificar el uso de la sentencia case
# Autor: Javier Eduardo Morón - @jmendoza

opcion=""

echo "Reto 3"
read -n1 -p "Ingrese una opción del 1-5:" opcion
echo -e "\n"

case $opcion in
    [1-5])
        if [ $opcion == 1 ]; then
            echo "Elegiste la opción número uno"
        elif [ $opcion == 2 ]; then
            echo "Elegiste la opción número dos"
        elif [ $opcion == 3 ]; then
            echo "Elegiste la opción número tres"
        elif [ $opcion == 4 ]; then
            echo "Elegiste la opción número cuatro"
        elif [ $opcion == 5 ]; then
            echo "Elegiste la opción número cinco"
    fi;;
esac
<h1>!/bin/bash</h1>

expresion=’^[1-5]$'
read -p "Ingrese una opción [1-5] " opcion

if [[ $opcion =~ $expresion ]]; then
echo -e "\nOpción correcta "
else
echo -e "Opción incorrecta"
fi

# !/bin/bash
# Reto 2: Solicitar Información personal y luego imprimir los datos
# Autor: Ian Duran

opcion=""

echo "  Reto 3  "
echo "----------"

echo -e "\nIngrese una opción a continuación"
echo -e "A)Conocer la ruta actual del archivo   B) Validar si un fichero existe
C) Verificar si el alumno aprobó el examen      D) Verificar si es mayor de edad
E) Verificar si un directorio existe"

read -n1 opcion

case $opcion in
        "A")
                echo ""
                pwd
                echo "";;
        "B")
                echo ""
                read -p "Ingrese el nombre de un fichero: " filePath
                if [ -e $filePath ]; then
                        echo "El fichero existe"
                else
                        echo "El fichero no existe"
                fi;;
        "C")
                echo ""
                read -p "Ingrese la nota del examen: " nota
                if (( $nota >=51 )); then
                        echo "Aprobó el examen"
                else
                        echo "Reprobó el examen"
                fi;;
        "D")
                echo ""
                read -p "Ingrese su edad: " edad
                if [ $edad -ge 18 ]; then
                        echo "Es mayor de edad"
                else
                        echo "Aun es menor de edad"
                fi;;
        "E") echo -e "\nLo sentimos, esta opcion no fue implementada";;
        *) echo -e "\nOpción no valida";;
esac

read -n1 -s -r -p "Presione cualquier tecla para salir. "
echo ""
exit
#! /bin/bash
#Programa para ingresar una opcion y realizar cinco opciones 


opcion=""
opcion1=0
url=""
urlRegex='.*.jpg'
valor1=0
valor2=0
op=""
resultado=0


echo -e "Programa para realizar cinco acciones\n
        1 .- Descargar una imagen de internet
        2 .- Verificar la edad del usuario
        3 .- Calculadora Basica
        4 .- Observar un archivo
        5 .- salir\n"
read -p "Ingrese una opcion [1-5]: " opcion

case $opcion in
    "1") 
        echo "Descargar una imagen de internet
                1.- Ingresar URL
                2.- Descargar cualquiera"
                read -p "Ingrese una opcion: " opcion1

                if [ $opcion1 = 1 ]; then
                    read -p "Ingrese la url: " url
                    if [[ !( $url =~ $urlRegex) ]]; then
                        echo "URL Inválida"
                    else
                        wget $url
                    fi
                elif [ $opcion1 = 2 ]; then
                    echo "Se ha descargado una imagen"
                    wget "https://ichef.bbci.co.uk/news/410/cpsprodpb/10E9B/production/_109757296_gettyimages-1128004359.jpg"
                    mv _109757296_gettyimages-1128004359.jpg gatito.jpg
                fi        
        ;;
    "2") 
        echo "Verificar la edad del usuario"
        read -p "ingrese su edad: " edad

        if [ $edad -lt 12 ]; then
            echo "El usuario es un niño"
        elif [ $edad -ge 12 ] && [ $edad -lt 18 ] ; then
            echo "El usuario es un adolecente"
        else 
            echo "El usuario es adulto"
        fi
        ;;

    "3") 
        echo "Calculadora basica"
        read -p "ingrese valor 1: " valor1
        read -p "ingrese valor 2: " valor2
        
        echo  "Operacion:
        1.- SUMA
        2.- RESTA
        3.- MULTIPLICACION"
        read -p "Ingrese una operacion: " op

        case $op in
            "1") 
                $resultado= $valor1 + $valor2;;
            "2")
                $resultado= $valor1 - $valor2;;
            "3")
                $resultado= $valor1 * $valor2;;
        esac    
        echo "El resultado de la operacion es: " ${resultado}

        ;;

    "4") 
        read -p "ingrese el nombre del archivo que deseea observar: " archivo
        cat $archivo        
        ;;

    "5") 
        echo "Gracias por usar la aplicación";;
esac
# !/bin/bash
#reto 3
#AUTOR: JI-Villalobos

opcion=0
pathArchivo=""

read -n1 -p "Ingrese el valor de la operacion (1-5): " opcion
if [ $opcion = 1 ]; then
    echo "Guardando archivo"
elif [ $opcion = 2 ]; then
    echo "eliminando archivo"
elif [ $opcion = 3 ]; then
    echo "Copiando archivo"
    read -p "Ingrese la ruta donde se guardara el archivo: " pathArchivo
    if [ -d $pathArchivo ]; then
        echo "El directorio existe"
    else
        echo "El directorio no existe"
    fi    
elif [ $opcion -ge 4 ]; then
    echo "Opcion no implementada"
fi
<code>
#!/bin/bash

#Solicitar ingresar un valor del 1 al 5. Segun el valor ingresado validarlo
# utilizando los condicionales e imprimir segun el valor ingresado.
# Construir expresiones de validacion numericas, cadenas y archivo segun la
# opcion ingresada


option='^[1-5]$'
valinum='^[0-9]*$'
valchar='^[a-zA-Z ]*$'
valdir='^[a-zA-Z0-9.-_/]*$'

read -p "Ingrese un valor del 1 al 5: " option

echo -e "\n"

case $option in
    1) echo -e "Validacion numerica"
         read -p "Ingrese un numero: " numero
                if [[ $numero =~ $valinum ]] ; then
                        echo "El numero ingresado es: " $numero
                else
                    echo "Debe ingresar un numero"
                fi
    ;;
    2) echo -e "Validacion de cadena"
         read -p "Ingrese una cadena: " cadena
                if [[ $cadena =~ $valchar ]] ; then
                        echo "La cadena ingresada es: " $cadena
                else
                    echo "Debe ingresar una cadena"
                fi
    ;;
    3) echo -e "Validacion de directorio"
         read -p "Ingrese un directorio : " dir
                if [[ -d $dir ]] && [[ $dir =~ $valdir ]] ; then
                        echo $dir " es un directorio existente"
                else
                    echo "El directorio no existe"
                fi
    ;;
    4) echo -e "En que directorio estoy parado"
         pwd
    ;;
    5) echo -e "Mostar la variable de entorno PATH del usuario"
       echo $PATH
    ;;
    *) echo "La opcion no es la correcta, por favor elija una opcion del 1 al 5"
    ;;
esac

#!/bin/bash
# Programa para solicitar valores (1-5) y realizar validaciones.
# Autor: @eyurivilc

opcion="^[0-5]$"
valNumero='^[0-9]*$'
valCaracter='^[a-zA-Z]*$'
valDirectorio='^[a-zA-Z0-9.-_/]*$'

read -p "Ingrese una opción del 1 al 5 : " opcion
echo -e "\n"

case $opcion in
	1) echo -e "\nValidación de un número"
		read -p "Ingrese un número: " numero
		if [[ $numero =~ $valNumero ]]; then
			echo "El número $numero es válido"
		else
			echo "El número $numero NO es válido"
		fi
	;;
	2) echo -e "\nValidación de un caracter"
		read -p "Ingrese una cadena de texto: " caracter
		if [[ $caracter =~ $valCaracter ]]; then
			echo "La cadena $caracter es válida"
		else
			echo "La cadena $caracter NO es válida"
		fi
	;;
	3) echo -e "\nVerificación de un directorio"
		read -p "Ingrese una ruta de directorio valido: " directorio
		if [[ $directorio =~ $valDirectorio ]]; then
			echo "La ruta:  $directorio es correcta"
		else
			echo "La ruta:  $directorio NO existe!"
		fi
	;;
	4) echo -e "\nMi directorio actual"
		rutaActual=`pwd`
		echo "La ruta actual es: $rutaActual"
	;;
	5) echo -e "\nMostrar el directorio del usuario"
		rutaUsuario=`echo $PATH`
		echo "Mostrar la variable de entorno PATH: $rutaUsuario"
	;;
	*) echo -e "\nLa opción no es correcta. :(";;

esac

# !/bin/bash
# Programa del reto 3 - Programación bash
# Autor: Juan Pablo @JPJimenezE

opcionRegex="^[1-5]{1}$"
opcion=0
numeroRegex="^[0-9]+$"
numero=0
cadenaRegex="^[a-ZA-Z]+$"
cadena=""
archivo=""

clear
echo "****************************"
echo "** Programa de validación **"
echo "** 1- Validacion números  **"
echo "** 2- Validación cadenas  **"
echo "** 3- Validación archivos **"
echo "** 4- Validación URL      **"
echo "** 5- Validación mixta    **"
echo "****************************"

read -n1 -p "ingrese una opcion (1-5): " opcion
echo -e "\n"
case $opcion in
    1) 
	read -p "Ingrese un número: " numero
	if [[ $numero =~ $numeroRegex ]]; then
	    echo -e "\nEs un número valido ;)"
	else
	    echo -e "\nNo es un número :("
	fi
    ;;
    2) 
	read -p "Ingrese una cadena: " cadena
	if [[ $cadena =~ $cadenaRegex ]]; then
	    echo -e "\nEs una cadena válida ;)"
	else
	    echo -e "\nTiene caracteres no permitidos :|"
	fi
    ;;
    3)
	read -p "Ingrese un directorio/archivo: " archivo
	if [ -d $archivo ]; then 
	    echo -e "\nEs un directorio"
	elif [ -e $archivo ]; then
	    echo -e "\nEs un archivo"
	else
	    echo -e "\nNo existe"
	fi
    ;;
    [4-5]) echo -e "\nAún no implementado";;
    *) echo -e "\nOpción no válida";;
esac

gracias

#!/bin/bash
# Porgrama que toma un valor y lo valida para luego usar condicionales
# Autor: YoJan

echo "***********************"
echo "Menú de opciones:"
echo "***********************"
echo "---------------------------------------------------------------------"
echo "1- Comparar si dos cadenas son iguales"
echo "2- Mayor entre dos números"
echo "3- Comparar si una cadena es menor que otra de acuerdo al orden ASCII"
echo "4- Comparar si dos números son distintos"
echo "5- Si un string es nulo, su longitud es cero"
echo "---------------------------------------------------------------------"

read -p "Ingrese la opción: " option

case $option in
        1)
                read -p "Ingrese la cadena 1: " cadena1
                read -p "Ingrese la cadena 2: " cadena2
                if [[ $cadena1 == $cadena2 ]]; then
                        echo "La cadena: $cadena1 y la cadena: $cadena2 son iguales"
                else
                        echo "La cadena: $cadena1 y la cadena: $cadena2 no son iguales"
                fi
        ;;
        2)
                read -p "Ingrese el número 1: " num1
                read -p "Ingrese el número 2: " num2
                if [[ $num1 -gt $num2 ]]; then
                        echo "El número: $num1 es mayor que $num2"
                else
                        echo "El número: $num2 es mayor que $num1"
                fi
        ;;
        3)
                read -p "Ingrese la cadena 1: " cadena1
                read -p "Ingrese la cadena 2: " cadena2
                if [[ $cadena1 > $cadena2 ]]; then
                        echo "La cadena: $cadena1 es mayor que la cadena: $cadena2"
                else
                        echo "La cadena: $cadena2 es mayor que la cadena: $cadena1"
                fi
        ;;
        4)
                read -p "Ingrese el número 1: " num1
                read -p "Ingrese el número 2: " num2
                if [[ $num1 -ne $num2 ]]; then
                        echo "Los números: $num1 y $num2 son diferentes"
                else
                        echo "Los números: $num1 y $num2 son iguales"
                fi
        ;;
        5)
                read -p "Ingrese una cadena: " cadena
                if [[ -z $cadena ]]; then
                        echo "La cadena es null"
                else
                        echo "La cadena no es null"
                fi
        ;;
esac
#!/bin/bash
#Programa para el reto 3 del curso de Programación en Shell

echo "'''''''''''''''''"
echo "Menú de opciones"
echo "................."
echo "-----------------------------------------------------------"
echo "1. Comparar dos números"
echo "2. Comparar la longitud de dos cadenas"
echo "3. Consultar ubicación actual en el sistema de directorios"
echo "4. Salir del programa"
echo "-----------------------------------------------------------"
echo -e "\n"

option=""
read -p "Ingrese la opción correspondiente a la operación a ejecutar:" option

case $option in
1)      numA=0
        numB=0
        read -p "Ingrese el primer número:" numA
        read -p "Ingrese el segundo número:" numB
        if [ $numA -gt $numb ]; then
                echo "El primer número es mayor que el segundo"
                elif [ $numA -lt $numB ]; then
                        echo "El primer número es menor que el segundo"
                        else
                                echo "Los números son iguales"
        fi
;;

2)      cadA=""
        cadB=""
        read -p "Escriba la primera cadena:" cadA
        read -p "Escriba la segunda cadena:" cadB
        if [ ${#cadA} -gt ${#cadB} ]; then
                echo "La primera cadena es mas larga"
                elif [ ${#cadA} -lt ${#cadB} ]; then
                        echo "La segunda cadena es mas larga"
                        else
                                echo "Las cadenas tienen la misma longitud"
        fi
;;

3)      ubicacion=`pwd`
        echo "Su posición en el sistema de directorios es:" $ubicacion
;;

4)      echo "Hasta la próxima!"
        break
;;
esac
# !/bin/bash
# Programa para el reto 3 del curso de programación en shell

option=""
read -p "Ingrese la nota del examen: " option

echo "Validación opción ingresada"
echo "\n"

case $option in
    1) echo "el estudiante reprobó la materia";;
    2) echo "el estudiante reprobó la materia pero puede levantar el promedio";;
    3) echo "aprobó";;
    [4-5]) echo "el estudiante aprobó la materia, felicitaciones";;
esac

#!/bin/bash
opcion="“
opcionreg=”^[1-5]$"
read -n1 -p “ingrese una opcion del 1 al 5:” opcion
echo ""
if [[ $opcion =~ $opcionreg ]]; then
echo "A selecionado la opcion $opcion"
else
echo "no a selecionado una opcion valida"
fi

# !/bin/bash
# Programa para ejemplificar el uso de la sentencia case

opcion=""

echo "Reto 3"

read -n1 -p "Ingrese una opcion de 1-5: " opcion
echo -e "\n"

case $opcion in
    1) echo -e "\nOperacion numero 1 seleccionada";;                                                                        2) echo "Operacion numero 2 seleccionada";;                                                                             3) echo "Operacion numero 3 seleccionada";;                                                                             4) echo "Operacion numero 4 seleccionada";;                                                                             5) echo "Operacion numero 5 seleccionada";;                                                                         esac```
# !/bin/bash
# Challenge #3: Conditional expressions usage

option=0

echo "============ Comparator ============"
echo " Choose one of the following options"
echo "1. Compare two numbers."
echo "2. Add two numbers."
echo "3. Compare two strings."
echo "4. Check if path exists."
echo "5. WIP"
read -n1 -p "Type one option:" option
echo ""

case $option in
    [1-2])
        number1=0
        number2=0
        read -p "Number 1: " number1
        read -p "Number 2: " number2
        if [ $option = 1 ]; then
            if [ $number1 -gt $number2 ]; then
                echo "Number 1 is greater than Number 2"
            elif [ $number1 -lt $number2 ]; then
                echo "Number 2 is greater than Number 1"
            else
                echo "Both numbers are equals"
            fi
        else
            echo "$number1 + $number2 = $(($number1 + $number2))"
        fi
        ;;
    3)
        string1=""
        string2=""
        read -p "String 1: " string1
        read -p "String 2: " string2
        if [ $string1 = $string2 ]; then
            echo "Both strings matches"
        else
            echo "Strings are different"
        fi
        ;;
    4)
        pathToFile=""
        read -p "Type the path to the file:" pathToFile
        if [ -d "$pathToFile" ]; then
            echo "The path exists"
        else
            echo "The path '$pathArchivo' could not be found"
        fi
    *) echo "Option not supported"
esac
<#!/bin/bash
#Script de resolución reto 3
# Solicitar que se ingrese un valor del 1 al 5. Según el valor ingresado valor a validarlo utilizando las condicionales e imprimir según el valor ingresado. Construir expresiones de valida
ción númericas, cadenas y archivos según la opción ingresada.

echo -e "

  ______   __       __   ______           __                            __           
 /      \ /  |  _  /  | /      \         /  |                          /  |          
/$$$$$$  |$$ | / \ $$ |/$$$$$$  |       _$$ |_     ______    _______  _$$ |_        
$$ |__$$ |$$ |/$  \$$ |$$ \__$$/       / $$   |   /      \  /       |/ $$   |        
$$    $$ |$$ /$$$  $$ |$$      \       $$$$$$/   /$$$$$$  |/$$$$$$$/ $$$$$$/        
$$$$$$$$ |$$ $$/$$ $$ | $$$$$$  |        $$ | __ $$    $$ |$$      \   $$ | __       
$$ |  $$ |$$$$/  $$$$ |/  \__$$ |        $$ |/  |$$$$$$$$/  $$$$$$  |  $$ |/  |      
$$ |  $$ |$$$/    $$$ |$$    $$/         $$  $$/ $$       |/     $$/   $$  $$/      
$$/   $$/ $$/      $$/  $$$$$$/           $$$$/   $$$$$$$/ $$$$$$$/     $$$$/        
                                                                                     
                                                                                   
"
echo "Selecione 1 de las siguientes temas de Sysops de AWS"
echo "1)Monitoring and Reporting"
echo "2) Storage and Data Management"
echo "3) Deplyment and Provisioning"
echo "4) Hihg Availability"
echo "5) Automation and Optimization"
echo -e ""
read -n1 -p "Escriba el numero del tema que prefiere (1-5)" option
echo -e""
case $option in
"1") read -p "cual es el servicio por excelencia de aws para monitorear recursos de AWS" rtamonitoring
            if [ $rtamonitoring = "cloudwatch" ] || [ $rtamonitoring = "cw" ];then
                echo "Respuesta correcta"
            else
                echo "Respuesta incorrecta $rtamonitoring  "
            fi;;

"2") echo  "cual de las siguentes servicios de almacenamiento almacena objetos ilimitadamente  ?" 
            read -p  " A)EBS B)S3 C)EFS D)Glacier" rtastorage
            read -n1 -p  " Cual es la capacidad maxima de un objeto dentro del bucket en TB" rtastorage2
            if [ $rtastorage = "B" ] || [ $rtastorage = "b" ];then
                  if [ $rtastorage2 = "5" ];then
                     echo -e  "\n $rtastorage2 es la cantidad de TB maximo de un archivo y $rtastorage almacena objetos ilimitadamente "
                  else
                     echo -e "\n revise la 2da respuesta esta erronea"
                   fi
            else
                echo "Respuestas incorrectas $rtastorage y $rtastorage2  "
            fi;;


"3") read -p "cual es el metodo de deployment que no genera downtime \n A)OpsWorks B) CodeDeploy C) blue/green D) All in once" rtadeployment
            if [ $rtadeployment = "d" ] || [ $rtadeployment = "D"  ];then
                echo "Respuesta correcta"
            else
                echo "Respuesta incorrecta $rtadeployment "
            fi;;


"4") read -p "cual es el servicio por excelencia de aws para Alta disponibilidad en  AWS" rtaHA
            if [ $rtaHA = "asg" ] || [ $rtaHA = "ASG"  ];then
                echo "Respuesta correcta"
            else
                echo "Respuesta incorrecta $rtaHA  "
            fi;;


"5") read -p "cual es el servicio por excelencia de aws para automatizacion y optimizacion de  recursos de AWS" rtaAyO
            if [ $rtaAyO = "cloudwatch" || $rtaAyO = "cw"  ];then
                echo "Respuesta correcta"
            else
                echo "Respuesta incorrecta $rtaAyO  "
            fi;;
"*") "Eliga un numero de 1 a 5"
esac
>

Mi código:

#!/bin/bash
#Programa para ingreso de opciones 1-5, validación de variable entera. 
#Autor: Harvi Calle - @harvif

numeroRegex='^[1-5]{1}$'


echo -e "\n Opcion 1 imprime la hora exacta. \n Opcion 2 Imprime la fecha \n Opcion 3 Imprime el nombre del mes. \n Opcion 4 Imprime el día de la semana. \n Opcion 5 imprime el día del mes"
read -n1 -p "Selecciona una opción del 1 al 5: " numero
echo -e "\n"

#Validacion de Variables
#Identificacion

if [[ $numero =~ $numeroRegex ]]; then #Comparacion de captura de datos, VS expresion regular
   case  $numero in
    1) echo "La hora exacta es $(date +%T)";;
    2) echo "La fecha exacta es $(date +%F)";;
    3) echo "El mes es $(date +%B)";;
    4) echo "El día de la semana es $(date +%A)";;
    5) echo "El día del mes es $(date +%d)";;
esac
else
    echo "Opcion no válida."
fi

Mi aporte

$ cat Reto_3.sh
# !/bin/bash
#Reto 3 Solicitud de ingreso, valor de 1 a 5 segun la respuesta
#hacer algo usando nuestras condiciones aprendidas antes y tener un regex para losnumeros

RegexOption='^[1-5]$'
phoneRegex='^[0-9]{10}$'
echo "
              />
 (           //------------------------------------------------------(
(*)OXOXOXOXO(*>                <<SrlmTexh>>                           \
 (           \\--------------------------------------------------------)
              \>
        "

read -n1 -p "Ingresa una opcion de [1 - 5]: " option
        if [[ $option =~ $RegexOption ]]; then
                case $option in
                        1) echo -e "\n Opcion Valida";;
                        [2-3]) echo -e "\n"
                               read -n1 -p "Ingresa un Numero [0-9]: " num1
                               echo -e "\n"
                               read -n1 -p  " Ingresa un Numero mas [0-9]: " num2
                                        if [ $option -eq 2 ]; then
                                                echo -e "\n"
                                                echo "Operacion Suma: $(($num1 + $num2))"
                                        else
                                                echo -e "\n"
                                                echo "Operacion Resta: $(($num1 - $num2))"
                                        fi;;
                        4) echo -e "\n"
                           read -n10 -p "Ingresa tu numero a 10 dig para validar: " phone
                                if [[ $phone =~ $phoneRegex ]]; then
                                        echo -e "\n Numero Valido, Gracias! "
                                else
                                        echo -e "\n Numero Invalido"
                                fi;;
                        5) echo -e "\n Hola";;

                        "*") "Opcion Invalida"
                esac
        else
                echo -e "\n Opcion fuera de Rango"
        fi
#!/bin/bash
# Reto 3: Validar opciones
# Autor: Mauro Brandan - [email protected]

option=0
numberOne=0
numberTwo=0
pais=""
archivo=""
nombre=""



echo "1 - Verificar numeros"
echo "2 - Verificar un  pais"
echo "3 - Verificar existencia de un archivo"
echo "4 - Ingresar nombre"
echo "5 - Terminar proceso"

read -p "Ingrese una opcion: " option

case $option in
    1)
       read -p "Ingrese dos numeros: " numberOne numberTwo
       if [ $numberOne -ge $numberTwo ]; then
           echo "El numero mayor es $numberOne"
       elif [ $numberOne -eq $numberTwo ]; then
           echo "Los numeros son iguales"
       else
           echo "El numero mayor es $numberTwo"
       fi;;
     2)
       read -p "Ingrese un pais correspondiente (ARG, MEX, COL): " pais 
       if [ $pais = "ARG" ]; then
           echo "Eres argentino!"
       elif [ $pais = "MEX" ]; then
           echo "Eres mexicano!"
       elif [ $pais = "COL" ]; then
           echo "Eres colombiano!"
       else
           echo "Opcion incorrecta"
       fi;;
      3)
       read -p "Ingrese la ubicacion del archivo: " archivo
       if [ -d $archivo ]; then
           echo "El archivo si existe"
       else
           echo "El archivo no existe"
       fi;;
      4)
       read -p "Ingrese su nombre: " nombre
       echo "Hola $nombre, bienvenido al sistema";;
      5)
       echo "Muy bien, proceso terminado";;
      *)
        echo "Opcion Incorrecta";;

esac

Mi aporte:

# !/bin/bash
# Programa para validar un número en un rango del  1 al 5
# Autor: Carlos Rodríguez

num=0
numRegex="^[0-9]+$"

read -p "Por favor ingrese un número: " num
echo -e "\n"

if [[ $num =~ $numRegex ]]; then
        if [ $num -ge 1 ] && [ $num -le 5 ]; then
                echo "Ha seleccionado el número correcto en el rango"
        else
                echo "El número no es correcto en el rango"
        fi
else
        echo "No es un número lo que ha introducido"
fi

Mi código

# !/bin/bash
# Reto 3: Solicitar que se ingrese un valor del 1 al 5. Según el valor ingresado, valor a
# validarlo utilizando las condicionales e imprimir según el valor ingresado. Construir 
# expresiones de validación numéricas, cadenas y archivos, según la opción ingresada.
# Autor: Erick Jiménez - @erjimrio

opcion=0
num1=0
num2=0
edad=0
pais=""
rutaArchivo=""

# Limpiar la pantalla
clear
# Desplegar el menú de opciones
echo "-------------------------------------------------------------------------------------------"
echo "                                            Reto 3                                         "
echo "-------------------------------------------------------------------------------------------"
echo "                                        MENÚ PRINCIPAL                                     "
echo "-------------------------------------------------------------------------------------------"
echo -e "\t 1. Comparar dos números"
echo -e "\t 2. Decir si un número es par o impar"
echo -e "\t 3. Expresiones condicionales con números"
echo -e "\t 4. Expresiones condicionales con cadenas"
echo -e "\t 5. Expresiones condicionales con archivos"

# Leer los datos del usuario - capturar información
read -n1 -p "Ingrese una opción [1-5]" opcion

# Validar la opción ingresada
case $opcion in 
    1)
        echo -e "\nComparar dos números"
        read -p "Ingrese un número: " num1
        read -p "Ingrese otro número: " num2
        # Comparamos números
        if [ $num1 -eq $num2 ]; then # num1 = num2
            echo -e "\n$num1 = $num2"
        elif [ $num1 -gt $num2 ]; then # num1 > num 2
            echo -e "\n$num1 > $num2"
        else    # num1 < num2
            echo -e "\n$num1 < $num2"
        fi
        ;;
    2)
        echo -e "\nDecir si un número es par o impar"
        read -p "Ingrese un número entero: " num1
        if [ $(($num1%2)) -eq 0 ]; then
            echo -e "\n$num1 es un número par"
        else
            echo -e "\n$num1 es un número impar"
        fi
        ;;
    3)
        echo -e "\nExpresiones condicionales con números"
        read -n2 -p "Ingrese su edad: " edad
        if [ $edad -gt 0]; then
            if [ $edad -ge 18 ]; then
                echo -e "\nUsted es mayor de edad"
            else
                echo -e "\nUsted es menor de edad"
            fi
        else
            echo -e "\nInformación errónea"
        fi
        ;;
    4)
        echo -e "\nExpresiones condicionales con cadenas"
        read -p "Ingrese su país [MEX, COL, ARG, ECU, OTRO]: " pais
        if [ $pais = "MEX" ]; then
            echo -e "\nUsted es mexicano"
        elif [ $pais = "COL" ]; then
            echo -e "\nUsted es colombiano"
        elif [ $pais = "ARG" ]; then
            echo -e "\nUsted es argentino"
        elif [ $pais = "ECU" ]; then
            echo -e "\nUsted es ecuatoriano"
        elif [ $pais = "OTRO" ]; then
            echo -e "\nUsted es de un país que no está en la lista"
        else
            echo -e "\nValor no válido"
        fi
        ;;
    5)
        echo -e "\nExpresiones condicionales con archivos"
        read -p "Ingrese el path de su archivo: " rutaArchivo
        if [ -d $rutaArchivo ]; then
            echo -e "\nEl directorio $rutaArchivo EXISTE"
        else
            echo -e "\nEl directorio $rutaArchivo NO EXISTE"
        fi
        ;;
    *)
        echo -e "\nElección no válida"
        ;;
esac 

#!/bin/bash
#Ingresar un valor de 1 al 5 y validarlo utilizando las condicionales e imprimir el valor ingresado. Construir expresiones de validacion numericas, cadenas y archivos segun la opcion ingresada
valor=0
valor2=0
numero=0
sumA=0
sumB=0
pathdir=""
fechahoy=""
hoy=`date +%Y-%m-%d`
parregex='^0|2|4|6|8{1}$'
imparregex='^1|3|5|7|9{1}$'
textregex='^[A-Z]'
text=""

echo "Operaciones a realizar:"
echo "1)Realizar la suma de A+B"
echo "2)Verificar si existe un directorio"
echo "3)Que fecha es hoy YYYYMMDD"
echo "4)Ingresar un numero del 0 al 9 e imprimir si es par o impar"
echo "5)Elegir el tipo de compresion para la carpeta shellCourse"
echo -e "\n"
read -n1 -p "Ingrese numero de operacion: " valor
echo -e "\n"
case $valor in
    1)
     echo "Ingrese numero a sumar"
     read -n1 -p "Numero A: " sumA
     echo -e "\n"
     read -n1 -p "Numero B: " sumB
     echo -e "\n"
     echo "La suma es: " $((sumA + sumB))
      ;;
    2)
	read -p "Ingrese directorio a verificar: " pathdir
       	if [ -d $pathdir ]; then
	   echo "El directorio $pathdir si existe"
	   else
	        read -p "El directorio $pathdir no existe, desea crearlo S/N: " pathcrear
	       if [ $pathcrear = "S" ] || [ $pathcrear = "s" ]; then
		    mkdir -p $pathdir
		  echo "Creado directorio $pathdir"
	       elif [ $pathcrear = "N" ] || [ $pathcrear = "n" ]; then
	          echo "Directorio no creado"
		  else
		  echo "opcion ingresada no valida"
	      fi
	 fi
       ;;
     3)
	 read -p "La fecha de hoy es: " fechahoy
	 if [ $fechahoy = $hoy ]; then
	    echo "Fecha ingresada es correcto"
	    else
		echo "Fecha ingresada no es hoy"
	 fi
        ;;
     4)
	 read -n1 -p "Ingresar numero a verificar: " numero
	 echo -e "\n"
	 if [[ $numero =~ $parregex ]]; then
	     echo "$numero es parregex"
          elif [[ $numero =~ $imparregex ]]; then
	     echo "$numero es imparregex"
	 else
	     echo "numero incorrecto"
	 fi
	  echo "FIN"

	  ;;
     5)
	 read -n1 -p "Ingrese tipo de compresion zip(Z), tar(T): " valor2
	 case $valor2 in
	          
	       "Z") 
		   echo "Comprimir usando Zip"
		   zip shellCourse.zip $HOME/shellCourse
		   ls -ld shellCourse.zip
		   ;;
	       "T")
		   echo "Comprimir usar Tar gz"
		   tar -czf shellCourse.tar.gz $HOME/shellCourse/
		   ls -ld shellCourse.tar.gz		   
		   ;;
	       *)
	       	   echo "Opcion no valida"
		   ;;
		   esac
	 ;;
     *)
    	 echo "Opcion no valida"
	 ;;
esac
     ```

Mi codigo de este reto:

# !/etc/bash
# reto 3: solicitar que se ingrese un valor del 1 al 5. Segun el valor ingresado valor a utilizarlo utilizando condicionales e imprimir segun el valor ingresado. Construir expresiones de validacion numerica, cadena, archivo segun la opcion ingresada.

# variables
opcion=0
nombre=""
apellidos=""
edad=0
direccion=""
telefono=0
email=""

# expresiones regulares
nombreRegex='^[A-Z]+$'
apellidosRegex='^([A-Za-zÃ{0}?[A-Za-zÃ]+[\s])+([A-Za-zÃ{0}?[A-Za-zÃ])+[\s]?([A-Za-zÃ{0}?[A-Za-zÃ])?$'
edadRegex='^[0-9]{2}$'
telefonoRegex='^[0-9]{10}$'
emailRegex='^[a-z0-9_-]+(?:.[a-z0-9_-]+)*@[a-z0-9_-]+(?:.[a-z0-9_-]+)*.[a-z]{2,6}$'

echo "Seleccione una opcion de la lista:"
echo "  1) Datos Personales"
echo "  2) Datos Contacto"
echo "  3) Salir"

read opcion

echo "Opcion seleccionada: $opcion"

case $opcion in
    1)
        echo "Datos Personales"
        echo -e "\n"
        
    echo -n "Ingrese su nombre:"
    read nombre
        
    echo -n "Ingrese sus apellidos:"
    read apellidos
        
    echo -n "Ingrese su edad:"
    read edad
        
    echo -n "Ingrese su direccion:"
    read direccion
    echo -e "\n"
        
    echo "Validando Datos Ingresados"
        if [[ $nombre =~ $nombreRegex ]]; then
            echo "Nombre: $nombre valido"
        else
            echo "Nombre: $nombre invalido"
        fi
        if [[ $apellidos =~ $apellidosRegex ]]; then
            echo "Apellidos: $apellidos valido"
        else
            echo "Apellidos: $apellidos invalido"
        fi
        if [[ $edad =~ $edadRegex ]]; then
            echo "Edad: $edad valido"
        else
            echo "Edad: $Edad invalido"
        fi
         echo "Direccion: $direccion";;
    2)
        echo "Datos de Contacto"
        echo -e "\n"
        
        echo -n "Ingrese su telefono:"
        read telefono
        
        echo -n "Ingrese su email:"
        read email
        
        echo "Validando Datos Ingresados"
        if [[ $telefono =~ $telefonoRegex ]]; then
            echo "Telefono: $telefono valido"
        else
            echo "Telefono: $Telefono invalido"
        fi
        if [[ $email =~ $emailRegex ]]; then
            echo "Email: $email valido"
        else
            echo "Email: $email invalido"
        fi;;
    3)
        echo "Bye!"
        exit;;
    *)
         echo "Opcion no permida"
         exit;;
esac
#!/bin/bash
# Solucion - Reto 3
# Author: molly

option=0
read -n1 -p "Option: " option
if [[ $option =~ [1-5] ]]; then
        echo -e "\nThe option -$option is correct"
else
        echo -e "\nThe option -$option is incorrect"
fi