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 鈥淚ngrese 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 鈥淔avor 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 鈥淔avor 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 鈥淚ngrese el usuario:鈥 usuarioIngresado

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

echo -e 鈥####################################################\n鈥

echo 鈥淐omprobar si el directorio existe鈥

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

if [ -d $dirIngresado ]; then
echo 鈥淪i existe el directorio: $dirIngresado鈥

else
echo "El directorio $dirIngreado no existe,"
read -n1 -p 鈥淒esea crearlo (y/n) :鈥 crearDir
if [ $crearDir = 鈥測鈥 ]; 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 鈥淚ngrese numero (1-5) :鈥 numero
if [[ $numero =~ $regnumero ]]; then
echo "numero valido"
else
echo "numero no valido"
fi

echo 鈥淣umero 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 鈥淚ngrese RUT (111111111-1):鈥 rut
if [[ $rut =~ $regrut ]]; then
echo "correcto"
else
echo "Incorrecto"
fi

echo 鈥淩UT :鈥 $rut

read -p 鈥淚ngrese fecha de Nacimiento: (aaaa-mm-dd) :鈥 fecha
if [[ $fecha =~ $regfecha ]]; then
echo 鈥渃orrecto鈥

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=鈥減assword鈥

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 鈥渋ngrese 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