Jestem nowicjuszem, ale chciałbym utworzyć skrypt, w którym chciałbym pozwolić użytkownikowi wybrać wiele opcji z listy opcji.
Zasadniczo chciałbym coś podobnego do poniższego przykładu:
#!/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
(Źródło: http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html#ss9.1 )
Jednak mój skrypt miałby więcej opcji i chciałbym zezwolić na wybór wielokrotności. Więc coś takiego:
1) Opcja 1
2) Opcja 2
3) Opcja 3
4) Opcja 4
5) Gotowe
Znakomity byłby też odzew na wybrane przez nich osoby, np. Znaki plus obok tych, które już wybrali. Np. Jeśli wybierzesz „1”, chcę wyczyścić stronę i ponownie wydrukować:
1) Option 1 +
2) Option 2
3) Option 3
4) Option 4
5) Done
Następnie, jeśli wybierzesz „3”:
1) Option 1 +
2) Option 2
3) Option 3 +
4) Option 4
5) Done
Ponadto, jeśli ponownie wybiorą (1), chcę, aby „odznaczyła” opcję:
1) Option 1
2) Option 2
3) Option 3 +
4) Option 4
5) Done
I na koniec, po naciśnięciu Gotowe, chciałbym, aby lista wybranych została wyświetlona przed wyjściem z programu, np. Jeśli aktualny stan to:
1) Option 1
2) Option 2 +
3) Option 3 +
4) Option 4 +
5) Done
Naciśnięcie 5 powinno wydrukować:
Option 2, Option 3, Option 4
... i skrypt się kończy.
Więc moje pytanie - czy jest to możliwe w bash, a jeśli tak, to czy ktoś może dostarczyć próbkę kodu?
Wszelkie porady będą mile widziane.