Taller de bash, nivel básico

software
gnulinux
programación

#1

Actualizo por segunda vez: fecha sábado 10 de septiembre. Lugar por determinar


#2

Los ejemplos los pondré en mi github


#3

Pues cuenta conmigo para este taller. Tanto como participante como para echarte una mano a preparar/dar el taller.


#4

#GoForIT


#6

Aquí os dejo la presentación que está en desarrollo todavía. Presentación en google drive.
Si queréis editar, me teneis que pasar vuestro gmail por privado, ya sea telegram o por el foro.
Gracias por colaborar.


#7

Cuenta con mi espada :blush:


#8

ahora tenéis la diapositiva un 1% más completa, maldita pereza festiva… xD mirare los exámenes de asir y pondré un par de prácticas de bucles y poco más, con eso creo que ya estaría terminada, pondré los .sh en mi github por si las moscas


#9

7 posts fueron trasladados a un nuevo tema: Uso de extensiones en scripts de shell


#10

El ejercicio para explicar while sería un menú de restaurante, pero me ha surgido una duda, el menú iría dentro del bucle? O no haría falta?


#11

https://github.com/RafaelAybar/Charla-sobre-bash-nivel-basico Este es el github con el primer ejemplo, es sobre el bucle while, pero hay errores que no consigo ver.
Gracias de antemano por la ayuda.


#13

Le acabo de echar un vistazo, y creo que merece la pena hacer merge. Lo de los if me ha matado.

Y por Tux, @LordCalvister, intenta comentar el código todo lo que puedas. Las líneas son gratis, abusa de ello. Ayudará a que entendamos mejor el código.


#14

He aceptado el pull request ahora me pongo a ello con lo que falta


#15

Necesito que me ayudéis con el tema de comprobar si lo introducido es una letra


#16

¿Has probado usando expresiones regulares?


#17

La documentación que mire o no me sirve o no termino de entenderla


#18

[^1234]


#19

Tienes un PR por si quieres mirarlo


#20

gracias


#21

No me aparece el pull request, no sé por qué


#23

Perdona, es que me di cuenta que con el patron que usaba si escribías cualquier combinación de los números 1,2,3,4 no te decía el mensaje “Debes escoger una opción válida.”.
El código era este:

#!/bin/bash
#defino el patron en una variable. En este caso "Distinto de 1234" sería lo que significa ese patron
pat='[^1-4]'
while true
do
	echo "MENÚ DEL DÍA"
	echo "1 Pastel de carne de primero y lentejas de segundo"
	echo "2 Sopa de pescado de primero y migas de segundo"
	echo "3 Bogavante a las finas hierbas de primero y ensalada de segundo"
	echo "4 Salir"
	read respuesta

    if [[ $respuesta =~ $pat ]] # esto comprueba que respuesta sea distinto de 1234
    then
        echo "Debes escoger una opción válida."
    fi

    # Para Bash verdadero es igual a 1 y falso es igual a 0.
    # Si la condición es verdadera, Bash devuelve 1 y se ejecuta el código dentro del if
    if [ $respuesta = 1 ]
    then
        echo "¿En serio, buena suerte?"

    # elif solo comprobará su condición cuando la condición del if devuelva 0.
    # Si la respuesta es 1, no hace falta comprobar si es 2.
    elif [ $respuesta = 2 ]
    then
        echo "¡Muy buena elección, es nuestra especialidad!"
    elif [ $respuesta = 3 ]
    then
        echo "Una elección digna de un auténtico sibarita..."
    elif [ $respuesta = 4 ]
	then
		echo "Hasta luego"
		exit
    fi
done