Bash - Créer un menu avec retour automatique au menu principal

Résolu/Fermé
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 - Modifié par xunil2003 le 17/07/2014 à 10:13
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 - 17 juil. 2014 à 10:56
Bonjour,

J'ai fait un menu et je voudrais que le menu dans le script revienne automatiquement au menu principal lorsqu'une case a été exécuté.

#!/bin/bash 
echo "
----- MENU PRINCIPAL -----

(1) Menu 1
(2) Menu 2
(3) Menu 3

(5) Q = Quitter
"
read choix_menu
case $choix_menu in
1) echo " ----- MENU 1 -----
<1> menu 1.1
<2> menu 1.2
<3> menu 1.3
<4> Q = Quitter
"
read choix_menu_1
echo
case $choix_menu_1 in
1) echo "vous avez selectionné le menu: 1.1" ;;
2) echo "vous avez selectionné le menu: 1.2" ;;
3) echo "vous avez selectionné le menu: 1.3" ;;
4 | Q | q ) echo "L'utilisateur $USER à quitter le programme" ; echo ; exit 0 ;;
*) echo "Erreur saisi Menu 1";;
esac
;;

2) echo " ----- MENU 2 -----
<1> menu 2.1
<2> menu 2.2
<3> menu 2.3
<4> Q = Quitter
"
read choix_menu_2
echo
case $choix_menu_2 in
1) echo "vous avez selectionné le menu: 2.1" ;;
2) echo "vous avez selectionné le menu: 2.2" ;;
3) echo "vous avez selectionné le menu: 2.3" ;;
4 | Q | q ) echo "L'utilisateur $USER à quitter le programme" ; echo ; exit 0 ;;
*) echo "Erreur saisi Menu 2";;
esac
;;
3) echo " ----- MENU 3 -----
<1> menu 3.1
<2> menu 3.2
<3> menu 3.3
<4> Q = Quitter
"
read choix_menu_3
echo
case $choix_menu_3 in
1) echo "vous avez selectionné le menu: 3.1" ;;
2) echo "vous avez selectionné le menu: 3.2" ;;
3) echo "vous avez selectionné le menu: 3.3" ;;
4 | Q | q ) echo "L'utilisateur $USER à quitter le programme" ; echo ; exit 0 ;;
*) echo "Erreur saisi Menu 3";;
esac
;;

5 | Q | q ) echo "L'utilisateur $USER à quitter le programme" ; echo ; exit 0 ;;
*) echo "Erreur saisi menu principal";;
esac
echo
exit 0


Comment dois-je faire ?

Merci.

A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
17 juil. 2014 à 10:11
Salut,

Inspires-toi de ce post qui y fait référence ;-)
0
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 14
17 juil. 2014 à 10:56
Bonjour,

Merci, c'est bon ça marche, j'ai fait comme ceci :

#!/bin/bash 
while :
do
echo "

----- MENU PRINCIPAL -----

(1) Menu 1
(2) Menu 2
(3) Menu 3

(5) Q = Quitter
"

read choix_menu_pricipal
case $choix_menu_pricipal in
1) echo " ----- MENU 1 -----
<1> menu 1.1
<2> menu 1.2
<3> menu 1.3
<4> Q = Quitter
"
read choix_menu_1
echo
case $choix_menu_1 in
1) echo "vous avez selectionné le menu: 1.1" ;;
2) echo "vous avez selectionné le menu: 1.2" ;;
3) echo "vous avez selectionné le menu: 1.3" ;;
4 | Q | q ) echo "L'utilisateur $USER à quitter le programme" ; echo ; exit 0 ;;
*) echo "Erreur saisi Menu 1";;
esac
;;

2) echo " ----- MENU 2 -----
<1> menu 2.1
<2> menu 2.2
<3> menu 2.3
<4> Q = Quitter
"
read choix_menu_2
echo
case $choix_menu_2 in
1) echo "vous avez selectionné le menu: 2.1" ;;
2) echo "vous avez selectionné le menu: 2.2" ;;
3) echo "vous avez selectionné le menu: 2.3" ;;
4 | Q | q ) echo "L'utilisateur $USER à quitter le programme" ; echo ; exit 0 ;;
*) echo "Erreur saisi Menu 2";;
esac
;;
3) echo " ----- MENU 3 -----
<1> menu 3.1
<2> menu 3.2
<3> menu 3.3
<4> Q = Quitter
"
read choix_menu_3
echo
case $choix_menu_3 in
1) echo "vous avez selectionné le menu: 3.1" ;;
2) echo "vous avez selectionné le menu: 3.2" ;;
3) echo "vous avez selectionné le menu: 3.3" ;;
4 | Q | q ) echo "L'utilisateur $USER à quitter le programme" ; echo ; exit 0 ;;
*) echo "Erreur saisi Menu 3";;
esac
;;

5 | Q | q ) echo "L'utilisateur $USER à quitter le programme" ; echo ; exit 0 ;;
*) echo "Erreur saisi menu principal";;
esac
done
echo
exit 0

Merci.
0