Sou um novato, mas gostaria de criar um script no qual gostaria de permitir que o usuário selecionasse várias opções em uma lista de opções.
Essencialmente, o que eu gostaria é algo semelhante ao exemplo abaixo:
#!/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
(Obtido de link )
No entanto, o meu script teria mais opções e gostaria de permitir que múltiplos fossem selecionados. Então, algo assim:
1) Opção 1
2) Opção 2
3) Opção 3
4) Opção 4
5) Feito
Ter feedback sobre os que eles selecionaram também seria ótimo, por exemplo, sinais de adição ao lado daqueles que eles já selecionaram. Por exemplo, se você selecionar "1", gostaria de paginar para limpar e reimprimir:
1) Option 1 +
2) Option 2
3) Option 3
4) Option 4
5) Done
Então, se você selecionar "3":
1) Option 1 +
2) Option 2
3) Option 3 +
4) Option 4
5) Done
Além disso, se eles selecionaram novamente (1) eu gostaria de "desmarcar" a opção:
1) Option 1
2) Option 2
3) Option 3 +
4) Option 4
5) Done
E finalmente quando o Done é pressionado eu gostaria de uma lista dos que foram selecionados para serem exibidos antes do programa sair, por exemplo, se o estado atual é:
1) Option 1
2) Option 2 +
3) Option 3 +
4) Option 4 +
5) Done
Pressionar 5 deve imprimir:
Option 2, Option 3, Option 4
... e o script termina.
Então, minha pergunta - isso é possível no bash, e se assim é alguém capaz de fornecer um exemplo de código?
Qualquer conselho seria muito apreciado.