Bonjour à tous,
Alors le titre est pas forcément parlant, pourtant ce que je cherche à faire me parait pas compliqué en soit mais je galère un peu...
J'ai une structure case avec plusieurs choix, dont certains qui impliquent une nouvelle structure case imbriquée. (En gros une sortie de menu, qui amène à un autre etc...).
L'idée étant que quand je sors d'un menu je revienne au précédent (et si je suis au premier, alors je sors du script).
Mais mon soucis est que peu importe dans quel sous-niveau de mon menu je suis, si j'entre la valeur attendue pour sortir, je sors complètement du script.
Un extrait du script (vous occupez pas de certains mots, j'ai des fonctions définies ailleurs mais qui n'impactent pas mon problème actuel) :
Alors j'ai pas fermé les "case esac" dans le code ci-dessus parce que je poste pas tout le script (plus de 900 lignes avec pas mal de répétitions j'vois pas trop l'intérêt
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 until [ $choix_menu_dest -eq 0 ] do menu_dest choix_menu_dest2=`echo $choix_menu_dest | tr A-Z a-z` case $choix_menu_dest2 in 0) echo echo "Bonne journee !" break ;; all) for i in `cat $dbm_remote $central_lognes $mail2print` do fic_dest=/mnt/$i/$fichier copie done for i in `cat $workstations` do to_mount $i fic_dest=/mnt/$i/$fichier copie to_unmount $i done continue ;; 1) menu_central_mmo choix_menu_central_mmo2=`echo $choix_menu_central_mmo | tr A-Z a-z` case $choix_menu_central_mmo2 in 0) break ;; all) for i in `cat $central_lognes` do fic_dest=/mnt/$i/$fichier copie done continue ;;).
A mon avis mon problème se situe plutôt au niveau de mon break qui doit me sortir de la boucle initiale au lieu de sortir.
Merci de votre aide.
Partager