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

Résolu
xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -  
xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -
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.

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Inspires-toi de ce post qui y fait référence ;-)
    0
  2. xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   14
     
    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