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 :

Comparaison d'égalité boucle while


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 111
    Par défaut Comparaison d'égalité boucle while
    Bonjour,

    Je débute en shell et après avoir tenté en vain de trouver la réponse sur la toile je m'adresse à vous... ce que j'essaye de faire: vérifier le contenu d'un champ en BDD, tant que ce dernier n'est pas au statut 'FIN'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    etat_guichet="INIT"
    while [$etat_guichet!="FIN"]
    	do
    		result = requête en BDD
    		etat_guichet=$(echo $result | cut -d';' -f1)
    		sleep 30
    	done
    Seulement:
    - la comparaison dans le while ne fonctionne pas (même avec les doubles crochets [[]])
    - j'aimerais trouver l'équivalent d'un do... while afin de ne pas attendre 30 secondes si le champ est déjà au statut FIN à la première exécution du code

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 728
    Par défaut
    Bonjour,

    un test requiert des espaces entre ses composantes, alors qu'une assignation de variable requiert de ne pas en avoir.

    EDIT : et, il faut toujours* mettre le Développement des paramètres entre guillemets. TOUJOURS* !

    * à moins de savoir pourquoi.

  3. #3
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 300
    Par défaut
    Bonjour

    etat_guichet=$(echo $result | cut -d';' -f1) se résume par etat_guichet="${result%%;*}".

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 111
    Par défaut
    Merci pour ces retours, mon test fonctionne à présent!
    En revanche, comment puis-je faire afin de ne pas traiter le sleep dans le cas où mon égalité est vrai dès le départ? L'équivalent du do...while en java?

    Merci

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 728
    Par défaut
    ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while test "$(requete BDD | cut...)" != "FIN"
    ???
    fais-tu autre chose avec la requête BDD que vérifier qu'elle retourne "FIN" ?

Discussions similaires

  1. [MySQL] Comparaison avec boucle while
    Par Sltcmi dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/01/2016, 15h35
  2. Comparaison de durées, boucle while, Sql
    Par Keuha dans le forum VB.NET
    Réponses: 5
    Dernier message: 09/11/2012, 12h02
  3. boucle while et post incrémentation
    Par tut dans le forum C++
    Réponses: 7
    Dernier message: 10/12/2004, 18h24
  4. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 23h51
  5. [débutant]Documentation? boucle "while"? Session?
    Par o151181 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/01/2004, 16h20

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