IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Shell - Retour au menu principal


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Par défaut Shell - Retour au menu principal
    Bonjour,

    Je fais actuellement un script qui execute différentes actions.
    Au debut du script, j'ai fais un menu du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [1] Action 1
    [2] Action 2
    [3] Action 3
    [4] Quitter
    Suite à cela, l'utilisateur choisis son action et l'execute, mais ce que je souhaiterais faire, c'est qu'une fois l'action faite, on se retrouve sur le menu et pouvoir executer une autre action ou quitter.

    Si vous pouviez m'aider, ça m'avancerais beaucoup
    Merci d'avance.
    M.

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    je suppose donc que tu utilises une structure de type case .... esac....


    cette structure tu peux la mettre dans une fonction, et du coup la rappeler en fin d'action...

    par exemple....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    truc()
    {
    case $pattern in
    1)
       echo "1"
       truc;;
    2)
       echo "2"
       truc ;;
    3) exit 0
       ;;
    esac
    }

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Voir du côté des instructions continue et break

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Salut,

    Voir du côté des instructions continue et break
    bien vu ce sera encore plus souple et pratique.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Par défaut
    En effet, j'utilise un case.
    Je vais regarder ça et je re posterais pour le résultat.
    Merci !

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Par défaut
    J'ai voulu regarder du côté des instructions continue et break, je n'ais pas très bien compris, du coup, j'ai utilisé la méthode de la fonction et ça fonctionne nikel.

    Merci pour votre aide

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par malik0 Voir le message
    J'ai voulu regarder du côté des instructions continue et break, je n'ais pas très bien compris, du coup, j'ai utilisé la méthode de la fonction et ça fonctionne nikel.

    Merci pour votre aide
    Le script :
    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
    $ cat foo.sh 
    #! /bin/bash
     
    while :
    do
    echo "
    [1] Action 1
    [2] Action 2
    [3] Action 3
    [4] Quitter
    "
     
    read -p "Veuillez choisir une entrée dans le menu : " choix
     
    case "${choix}" in
    1)	echo "Vous avez choisi l'Action 1"
    	continue
    	;;
    2)	echo "Vous avez choisi l'Action 2"
    	continue
    	;;
    3)	echo "Vous avez choisi l'Action 3"
    	continue
    	;;
    4)	echo "Vous avez choisi de quitter... bye bye..."
    	break
    	;;
    *)	echo "Mauvais choix, recommencez s'il vous plaît."
    	continue
    	;;
    esac
    done
    Le résultat (les 3 actions (1 2 3), une erreur (5) et la sortie (4) :
    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
    $ ./foo.sh 
     
    [1] Action 1
    [2] Action 2
    [3] Action 3
    [4] Quitter
     
    Veuillez choisir une entrée dans le menu : 1
    Vous avez choisi l'Action 1
     
    [1] Action 1
    [2] Action 2
    [3] Action 3
    [4] Quitter
     
    Veuillez choisir une entrée dans le menu : 2
    Vous avez choisi l'Action 2
     
    [1] Action 1
    [2] Action 2
    [3] Action 3
    [4] Quitter
     
    Veuillez choisir une entrée dans le menu : 3
    Vous avez choisi l'Action 3
     
    [1] Action 1
    [2] Action 2
    [3] Action 3
    [4] Quitter
     
    Veuillez choisir une entrée dans le menu : 5
    Mauvais choix, recommencez s'il vous plaît.
     
    [1] Action 1
    [2] Action 2
    [3] Action 3
    [4] Quitter
     
    Veuillez choisir une entrée dans le menu : 4
    Vous avez choisi de quitter... bye bye...
     
    $

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 28/02/2007, 12h18
  2. Menu principal et click sous menu
    Par angiosfr dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 22/11/2005, 21h38
  3. [formulaire] Menu principal
    Par ahmbil dans le forum IHM
    Réponses: 6
    Dernier message: 22/10/2005, 10h06
  4. [formulaire] Menu principal
    Par ahmbil dans le forum IHM
    Réponses: 1
    Dernier message: 20/10/2005, 16h59
  5. barre de menu principal
    Par norfelt dans le forum IHM
    Réponses: 10
    Dernier message: 27/10/2003, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo