Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/08/2015, à 00:03

Boulvards

Retour menu

Salut à tous ! J'ai une chtite question sur les menus, actuellement je suis en train de mettre en place un script afin d'appeler des choix dans un menu, j'aimerai, lorsque j'effectue une action dans le menu qu'il me propose le choix de revenir à la racine du menu...et c'est là où ça coince, j'ai pas l'idée lumineuse pour trouver ça. Une idée à votre niveau ?

#!/bin/bash

#Test des différents paramètres#

read -p 'Entrer votre nom de domaine : ' Ndd

while [ -z $Ndd ] ; do
        read -p 'Entrer votre nom de domaine : ' Ndd

done

read -p 'Entrer votre période au format M-A : ' MA

while [ -z $MA ] ; do
        read -p 'Entrer votre période au format M-A : ' MA

done

read -p 'Entrer le jour : ' J

while [ -z $J ] ; do
        read -p 'Entrer le jour : ' J

done


#Le début du Menu#
echo -e "\n\t\tMENU - Vous souhaitez :"
echo -e "\t\t=======================\n\n"

echo -e "\tTest , taper 1\n"

echo -e "\tTest, taper 2\n"

echo -e "\tTest, taper 3\n"

echo -e "\tTest, taper 4\n"

echo -e "\tTest, taper 5\n"

echo -e "\tTest, taper 6\n"

echo -e "\tQuitter, taper 7\n"

echo -ne "\n\nQuel est votre choix ?"
read choix

case $choix in

1)

echo 'Test 1'

esac

case $choix in

        2)

echo 'Test 2'

esac

case $choix in

        3)

echo 'test 3'

esac

case $choix in

        4)

echo 'test 4'

esac

case $choix in

        5)

echo 'test 5'

esac
case $choix in

        6)

echo 'Test 6'

esac

case $choix in

        7)

echo 'test 7'

esac

Hors ligne

#2 Le 26/08/2015, à 07:13

pingouinux

Re : Retour menu

Bonjour,
Voici une façon de faire, à adapter à ton besoin :

#Le début du Menu#
Menu=""
Menu+="\n\t\tMENU - Vous souhaitez :"
Menu+="\t\t=======================\n\n"
Menu+="\tTest , taper 1\n"
Menu+="\tTest, taper 2\n"
Menu+="\tTest, taper 3\n"
Menu+="\tTest, taper 4\n"
Menu+="\tTest, taper 5\n"
Menu+="\tTest, taper 6\n"
Menu+="\tQuitter, taper 7\n"
Menu+="\tRetour au menu, taper 8\n"
Menu+="\n\nQuel est votre choix ? "

while true
do
   echo -ne "$Menu"
   read choix
   case $choix in
      1) echo 'Test 1'; break;;
      2) echo 'Test 2'; break;;
      3) echo 'test 3'; break;;
      4) echo 'test 4'; break;;
      5) echo 'test 5'; break;;
      6) echo 'Test 6'; break;;
      7) echo 'test 7'; exit;;
      8) echo 'test 8';;
   esac
done

echo "Vous avez choisi $choix"

Modifié : Petite simplification
Édité : Ajout du esac qui manquait

Dernière modification par pingouinux (Le 27/08/2015, à 07:30)

Hors ligne

#3 Le 26/08/2015, à 13:23

Hizoka

Re : Retour menu

Salut,
tu as le choix entre :
creer une fonction pour chacun de tes menus (en cas de menus et sous menus par exemple)
ou fonctionner par boucles avec des break pour revenir au menu précédant


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#4 Le 26/08/2015, à 23:32

Boulvards

Re : Retour menu

hmmm... Pingouinux ton Menu est pour le coup beaucoup plus simple que le mien mais

./logs2.sh: ligne 41: Erreur de syntaxe près du symbole inattendu « newline »
./logs2.sh: ligne 41: `done'

tu vois d'où ça vient ? Pourquoi il n'encadre ce "done" (rouge dans vim) ?

Hors ligne

#5 Le 27/08/2015, à 07:33

pingouinux

Re : Retour menu

Au temps pour moi, j'ai corrigé en #2. Il manquait le esac pour terminer le case. C'est une erreur de copie, car j'avais testé avec succès ce menu chez moi.

Hors ligne