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 :
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).
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
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.
Partager