bonjour

j ai cree un script bash avec menu et sous menu je rencontre un probleme concernant l affichage en effet au niveau du menu la selection 1 et 2 fonctionnent mais qd je selectionne le 3 j ai un message d erreur wrong answer j ai beau chercher je ne vois pas mon erreur quelqu un pourrait m aider

merci davance

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#!/bin/bash
 
printf " \n \033[36m"
cat << "EOF"
 
    #                                                         ###### 
   # #    ####  ##### # #    # # ##### ######     ####  #     #    #  
  #   #  #    #   #   # #    # #   #   #         #    # #          #   
 #     # #        #   # #    # #   #   #####     #      #         #    #  
EOF
printf " \n \033[0m \n"
 
#  STATUS FUNCTION
function status_function {
                        # this function manages the sub-menu and asks to choose between Multi gp pa . 
 
 PS3=' Status?1.Multi 2.GP 3.Pa 4.previous_menu5.quit '
 
                        # this function takes $display( $1 in this function) as an argument.  
                        select status in Multi GP Pa previous_menu quit
                       do
                                case $status in    # contains $status
                                        Multi)
                                    printf " \n \033[36m"
                                         if [ "$1" = "Multi" ]
                                                        then
                                                cat << "EOF"
 
 
   ___       _          ___  ___      _ _   _                    
  |/|___/ \_|  |_/\__,_|_|\__|_|___/\___|\__, |___/
                                                          | |    
                                                          |_|    
EOF
                                         printf " \n \033[0m \n"
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
esac
 
case $status in    # contains $status
                                        GP)
 
 
 
                                         printf " \n \033[36m"
                                         cat << "EOF"
 
   ___       _           _____ ______ _   _ 
  |_  |     | |         |  __ \| ___ \ | | |
    | | ___ | |__  ___  | |  \/| |_/ / | | |
 
 
EOF
                                                                        printf " \n \033[0m \n"
 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
case $status in    # contains $status
                                        Pa)
                                        printf " \n \033[36m"
                                        cat << "EOF"
 
 
   ___       _      ______               _ _      _           
  |_  |     | |     | ___ \             | | |    | |          
    | | ___ | |__   | |_/ /_ _ _ __ __ _| | | ___| | ___  ___ 
    | |/ _ \| '_ \  |  __/ _` | '__/ _` | | |/ _ \ |/ _ \/ __|
 
 
EOF
                                                    printf " \n \033[0m \n"
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
esac
;;
                                       previous_menu)
                                                break 2         # breaking out of 2 selects     
                                                ;;
                                       quit)
                                               echo -e "exiting \n"
                                                break 5     # breaking out of while loops   
                                                ;;
                                        *)
                                                echo -e "wrong answer \n"
 break 5     # breaking out of while loops   
                                                ;;
                                        *)
                                                echo -e "wrong answer \n"
                                                ;;
                                esac
                           # end of  status select
                        done
}
 
###################################################" MAIN PROGRAM
 
# main menu : the user is required to choose the display selection )
while true 
do
ps3='Display? 1.Multi 2.GP 3.Pa 4.previous_menu 5.quit '
 
select display in Multi GP Pa previous_menu quit
 
do
 
# PS3 prompt change. Used with the select.
 
# display by status
        case $display in
 
        Multi|GP|Pa|previous_menu|quit)
 
                       status_function $display
        ;;
#                       ;;
                quit)
                        echo "exiting"
                        # break 2 : because exiting 2 structures : the select and the while loop.
                        break 2
                        ;;
 *)
                        echo "wrong answer"
                    ;;
esac  # end of case     
done  # end of global select 
done  # end of while true
############################################## END OF MAIN PROGRAM