Frage

OK, also habe ich versucht, auf Google danach zu suchen, und ich kann keine Antwort finden. Ich versuche zu erstellen, eine Fallanweisung in Bash zu erstellen, aber wenn der Benutzer eine andere Nummer eingibt als aufgeführt, verlässt sie nur das Skript. Wie mache ich einen Fehler und bitte den Benutzer, eine der Optionen auszuwählen?

Zum Beispiel meine Fallanweisung

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

Andere Optionen als 1, 2, QQ geben also einen Fehler, der eine ungültige Auswahl enthält. Versuchen Sie es erneut.

War es hilfreich?

Lösung

Sie brauchen eine Weile Schleife und eine boolesche Variable wie diese:

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top