Soy un novato bash, pero me gustaría crear un script en el que me gustaría permitir que el usuario seleccione múltiples opciones de una lista de opciones.
Esencialmente, lo que me gustaría es algo similar al siguiente ejemplo:
#!/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
(Fuente de http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html#ss9.1 )
Sin embargo, mi script tendría más opciones, y me gustaría permitir que se seleccionen múltiples. Entonces algo como esto:
1) Opción 1
2) Opción 2
3) Opción 3
4) Opción 4
5) Listo
Tener comentarios sobre los que han seleccionado también sería genial, por ejemplo, signos más junto a los que ya han seleccionado. Por ejemplo, si selecciona "1", me gustaría paginar para borrar y volver a imprimir:
1) Option 1 +
2) Option 2
3) Option 3
4) Option 4
5) Done
Entonces, si selecciona "3":
1) Option 1 +
2) Option 2
3) Option 3 +
4) Option 4
5) Done
Además, si nuevamente seleccionaron (1) me gustaría que "deseleccione" la opción:
1) Option 1
2) Option 2
3) Option 3 +
4) Option 4
5) Done
Y finalmente, cuando se presiona Listo, me gustaría tener una lista de las que se seleccionaron para que se muestren antes de que el programa salga, por ejemplo, si el estado actual es:
1) Option 1
2) Option 2 +
3) Option 3 +
4) Option 4 +
5) Done
Presionando 5 debería imprimir:
Option 2, Option 3, Option 4
... y el script termina.
Entonces mi pregunta: ¿es esto posible en bash, y si es así, alguien puede proporcionar una muestra de código?
Cualquier consejo sería muy apreciado.