Je suis un débutant bash mais je voudrais créer un script dans lequel j'aimerais permettre à l'utilisateur de sélectionner plusieurs options dans une liste d'options.
Essentiellement, ce que je voudrais, c'est quelque chose de similaire à l'exemple ci-dessous:
#!/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
(Tiré de http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html#ss9.1 )
Cependant, mon script aurait plus d'options, et j'aimerais autoriser la sélection de multiples. Donc quelque chose comme ça:
1) Option 1
2) Option 2
3) Option 3
4) Option 4
5) Terminé
Il serait également utile d'avoir des commentaires sur ceux qu'ils ont sélectionnés, par exemple des signes plus à côté de ceux qu'ils ont déjà sélectionnés. Par exemple, si vous sélectionnez "1", je voudrais page pour effacer et réimprimer:
1) Option 1 +
2) Option 2
3) Option 3
4) Option 4
5) Done
Ensuite, si vous sélectionnez "3":
1) Option 1 +
2) Option 2
3) Option 3 +
4) Option 4
5) Done
De plus, s'ils ont de nouveau sélectionné (1), je voudrais qu'il "désélectionne" l'option:
1) Option 1
2) Option 2
3) Option 3 +
4) Option 4
5) Done
Et enfin, lorsque vous appuyez sur Terminé, j'aimerais qu'une liste de ceux qui ont été sélectionnés soit affichée avant la fin du programme, par exemple si l'état actuel est:
1) Option 1
2) Option 2 +
3) Option 3 +
4) Option 4 +
5) Done
Appuyez sur 5 pour imprimer:
Option 2, Option 3, Option 4
... et le script se termine.
Donc ma question - est-ce possible en bash, et si oui, quelqu'un peut-il fournir un exemple de code?
Tout conseil serait très apprécié.