Bonjour,

Je suis actuellement en train d'écrire un script en Shell.
Je dois lister certains services et demander à l'utilisateur de choisir 1 ou plusieurs services. Voici le bout de mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
echo " ------------------------------------"
echo "|   LISTE DES SERVICES DISPONIBLES   |"
echo " ------------------------------------"
echo "|      [1] - Service 1               |"
echo "|      [2] - Service 2               |"
echo "|      [3] - Service 3               |"
echo "|      [4] - Service 4               |"
echo "|      [5] - Service 5               |"
echo "|      [6] - Service 6               |"
echo "|      [7] - Service 7               |"
echo " ------------------------------------"
 
service1="non"
service2="non"
service3="non"
service4="non"
service5="non"
service6="non"
service7="non"
 
while true
do
        read -p "A quel(s) service(s) souhaitez-vous avoir accès ? [n n ...] : " service
        case $service in
                1 | 1* | *1) service1="oui"
                             break ;;
                2 | 2* | *2) service2="oui"
                             break ;;
                3 | 3* | *3) service3="oui"
                             break ;;
                4 | 4* | *4) service4="oui"
                             break ;;
                5 | 5* | *5) service5="oui"
                             break ;;
                6 | 6* | *6) service6="oui"
                             break ;;
                7 | 7* | *7) service7="oui"
                             break ;;
                *) echo "Erreur de saisie : Veuillez choisir les services autorisés."
                   echo "Si vous devez avoir accès à plusieurs services, entrer les numéros séparés par un espace [2 3 6]."
        esac
done
Donc ici, je voudrais que si l'utilisateur entre "1", le service1 passe à OUI (ça fonctionne actuellement), si il rentre "3 5 7" les services 3, 5 et 7 passent à OUI (mais là, ça ne fonctionne pas).
Or, ce code ne fonctionne pas, seul le premier service passe à OUI, si par exemple j'entre 3 2 6, le service 3 passe à OUI le 2 et le 6 restent à NON !

Auriez-vous une solution à m'apporter ?
Merci d'avance,
Malik.