Pregunta

Ok, entonces he intentado buscar esto en Google y parece que no puedo encontrar una respuesta. Lo que estoy tratando de hacer es crear una declaración de caso en BASH, pero si el usuario ingresa un número diferente al en la lista, simplemente salga del script. ¿Cómo hago que dé un error y luego le pido al usuario que seleccione una de las opciones?

Por ejemplo, mi declaración de caso

case $ans in
1) echo "Running Project 1..."
   sleep 2
   ./project1.sh
;;
2) echo "Running Project 2..."
   sleep 2
   ./project2.sh
;;
Qq) echo "Exiting"
    exit
;;
esac

Entonces, cualquier opción que no sea 1, 2, QQ, dará un error que diga la selección no válida, intente nuevamente.

¿Fue útil?

Solución

Necesita un bucle de tiempo y una variable booleana como esa:

flag = true
while [  $flag ]; do
    case $ans in
        1) echo "Running Project 1..."
           sleep 2
           ./project1.sh
        ;;
        2) echo "Running Project 2..."
           sleep 2
           ./project2.sh
        ;;
        Qq) echo "Exiting"
            flag = false
        ;;
    esac
done
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top