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 :

Mettre fin à un programme


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 90
    Par défaut Mettre fin à un programme
    Comment fait on pour qu'un programme s’arrête lorsqu'il a donnée sa réponse sans faire un ctrl+c.
    J'ai ce code, mais il ne s’arrête pas?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #!/bin/bash
    ca=$1
    until [ $ca -eq 1 ]
    do
    case $ca in
    *1|*3|*5|*7|*9) echo $ca est impair;;
    *0|*2|*4|*6|*8) echo $ca est pair;;
    esac
    done
    Quelle commande manque t'il ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Ce script est foireux.

    Tu passes un chiffre(ou quelques chose) en argument et si ce n'est pas 1, il va boucler infiniment en affichant la phrase correspondante ou une erreur si tu passes autre chose qu'un chiffre en argument.

    Pourquoi utilises-tu une boucle si le script doit s'arrêter après avoir reçu la réponse de l'utilisateur? Que souhaites-tu faire exactement?

  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,

    Dans ce cas précis, tu supprimes le "until" et le "do...done" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    ca=$1
     
    case $ca in
    *1|*3|*5|*7|*9) echo $ca est impair;;
    *0|*2|*4|*6|*8) echo $ca est pair;;
    esac

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 90
    Par défaut
    En effet le script est plus simple comme ça. Je sais pas pourquoi j'avais un scrript autant compliqué. Je crois que c'est l'effet ctrl+c ctrl+v, ou j'ai copié sans vraiment me rendre compte de se que je programmait. La réflexion avant l'action

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

Discussions similaires

  1. comment mettre fin au programme
    Par nulinfo dans le forum Débuter
    Réponses: 14
    Dernier message: 07/04/2009, 16h58
  2. Réponses: 7
    Dernier message: 18/01/2007, 13h09
  3. memoire fin de programme
    Par semaj_james dans le forum C
    Réponses: 6
    Dernier message: 28/11/2005, 11h39
  4. [LG] Problème avec la Fonction ReadLn en fin de programme
    Par killermano dans le forum Langage
    Réponses: 6
    Dernier message: 23/07/2005, 15h16
  5. Fin de programme dans une procédure
    Par Sinclair dans le forum Langage
    Réponses: 13
    Dernier message: 29/11/2002, 22h30

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