Sono un principiante bash ma vorrei creare uno script in cui vorrei consentire all'utente di selezionare più opzioni da un elenco di opzioni.
In sostanza quello che vorrei è qualcosa di simile all'esempio seguente:
#!/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
(Fonte di http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html#ss9.1 )
Tuttavia, la mia sceneggiatura avrebbe più opzioni e vorrei consentire la selezione dei multipli. Quindi qualcosa del genere:
1) Opzione 1
2) Opzione 2
3) Opzione 3
4) Opzione 4
5) Fine
Avere un feedback su quelli che hanno selezionato sarebbe anche fantastico, ad esempio segni più accanto a quelli che hanno già selezionato. Ad esempio, se selezioni "1", desidero effettuare la pagina per cancellare e ristampare:
1) Option 1 +
2) Option 2
3) Option 3
4) Option 4
5) Done
Quindi se selezioni "3":
1) Option 1 +
2) Option 2
3) Option 3 +
4) Option 4
5) Done
Inoltre, se hanno nuovamente selezionato (1) Vorrei che "deselezionasse" l'opzione:
1) Option 1
2) Option 2
3) Option 3 +
4) Option 4
5) Done
Infine, quando viene premuto Fine, vorrei visualizzare un elenco di quelli selezionati prima della chiusura del programma, ad esempio se lo stato corrente è:
1) Option 1
2) Option 2 +
3) Option 3 +
4) Option 4 +
5) Done
Premere 5 per stampare:
Option 2, Option 3, Option 4
... e lo script termina.
Quindi la mia domanda - è possibile in bash, e se è così qualcuno è in grado di fornire un esempio di codice?
Qualsiasi consiglio sarebbe molto apprezzato.