Ich bin ein Bash-Neuling, möchte aber ein Skript erstellen, in dem der Benutzer mehrere Optionen aus einer Liste von Optionen auswählen kann.
Im Wesentlichen möchte ich etwas Ähnliches wie das folgende Beispiel:
#!/bin/bash
OPTIONS="Hello Quit"
select opt in $OPTIONS; do
if [ "$opt" = "Quit" ]; then
echo done
exit
elif [ "$opt" = "Hello" ]; then
echo Hello World
else
clear
echo bad option
fi
done
(Quelle: http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html#ss9.1 )
Mein Skript hätte jedoch mehr Optionen, und ich möchte die Auswahl von Mehrfachwerten zulassen. So etwas in der Art:
1) Option 1
2) Option 2
3) Option 3
4) Option 4
5) Fertig
Ein Feedback zu den von ihnen ausgewählten Personen wäre ebenfalls großartig, z. B. Pluszeichen neben denen, die sie bereits ausgewählt haben. Wenn Sie beispielsweise "1" auswählen, möchten Sie zum Löschen und erneuten Drucken eine Seite erstellen:
1) Option 1 +
2) Option 2
3) Option 3
4) Option 4
5) Done
Wenn Sie dann "3" auswählen:
1) Option 1 +
2) Option 2
3) Option 3 +
4) Option 4
5) Done
Wenn sie erneut (1) auswählen, möchte ich, dass die Option "abgewählt" wird:
1) Option 1
2) Option 2
3) Option 3 +
4) Option 4
5) Done
Und zum Schluss, wenn Fertig gedrückt wird, möchte ich eine Liste der ausgewählten, die angezeigt werden sollen, bevor das Programm beendet wird, z. B. wenn der aktuelle Status ist:
1) Option 1
2) Option 2 +
3) Option 3 +
4) Option 4 +
5) Done
Drücken Sie 5, um Folgendes zu drucken:
Option 2, Option 3, Option 4
... und das Skript wird beendet.
Also meine Frage - ist das in bash möglich und wenn ja, kann jemand ein Codebeispiel bereitstellen?
Jeder Rat wäre sehr dankbar.