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

Linux Discussion :

Problème avec un while


Sujet :

Linux

  1. #1
    Membre habitué
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut Problème avec un while
    Bonjour,

    Un petit problème avec un script ksh tout simple. Je dois lancer un script avec une date en paramètre, commencer un traitement puis le bloquer jusqu'à la dite date.

    Voici le bout de code qui me pose problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/bin/ksh
     
    reprise=$1
    echo $1
    echo $(date +%Y%m%d%H)
     
    while ($1!=$(date +%Y%m%d%H))
    do
    	echo "wait"
    done
    j'obtiens en erreur:
    2010060705!=2010060704: non trouvé [Aucun fichier ou répertoire de ce type]

    Les 2 chiffres étant la date de reprise et la date actuelle.

    Quelqu'un aurait une idée soit pour résoudre ce problème, soit pour le faire différemment?

    Merci D'avance
    Frédéric

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 685
    Par défaut
    'manque des espaces, et des parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (( $1 != $(date +%Y%m%d%H) ))
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre habitué
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut
    c'est ce qu'il me semblait...

    avec les espaces:

    2010060705: non trouvé [Aucun fichier ou répertoire de ce type]

    j'ai essayé -ne, des "[" à la place des "("...

    merci quand même

    EDIT

    résolu en doublant les parenthèses... par contre quelqu'un pourrait m'expliquer pourquoi?

  4. #4
    Membre expérimenté Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Par défaut
    en bash
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [ $A -ne $B ]  # "[" équivaut à "test" et doit être suivi d'un espace
    # peut s'écrire
    (( A != B ))  # évaluation arithmétique (les $ des variables sont subsidiaires sauf pour les paramètres positionnels)
    #
    [ $1 -ne $B ]
    # peut s'écrire
    (( $1 != B ))
    # mais pas
    (( 1 != B ))

Discussions similaires

  1. [FPDF] Problème avec un while dans un tableau
    Par nigg4z dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/10/2007, 15h13
  2. [MySQL] Problème avec un "while"
    Par fantasygirl dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/08/2007, 02h09
  3. Réponses: 2
    Dernier message: 17/10/2005, 22h16
  4. Problème avec Do while rs.EOF
    Par lauraned dans le forum ASP
    Réponses: 12
    Dernier message: 21/05/2004, 12h00

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