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 sur un script Shell


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 128
    Points : 51
    Points
    51
    Par défaut problème sur un script Shell
    bonjour
    j'ai besion de votre aide pour trouver l'erreur sur un script.
    bon voici l’énoncé de l'exercice :Réaliser un script shell <<affiheur >> qui en fonction de l'heure courante affiche <<bonjour>> entre 0h et 12h, <<bon après midi>> entre 12h et 17h et << bonne soirée>> entre 17h et 0h et un message d'erreur pour une autre heure.

    voici mon essai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    h=$(date +%H) #pour récupere l'heure de la machine
    if [ $h -ge 0 -a $h -lt 12 ]
    then
           echo bonjour
    elif [ $h -ge 12 -a $h -lt 17 ]
    then
           echo bon après midi
    elif [ $h -ge 17 -a $h -lt 0 ]
    then
           echo bonne soiree
    else
           echo erreur
    fi
    lorsque j'execute le script:
    ./essai
    il m'affiche tjrs
    erreur (le dernier else)
    !!!!
    malgré que l'heure de ma machine virtuelle est 18

    Merci de m'aider à trouver la source de l'heure .

    Amicalement

  2. #2
    Membre chevronné Avatar de jeanbi
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 703
    Points : 2 247
    Points
    2 247
    Par défaut
    bonjour
    #!/bin/sh
    h=$(date +%H) #pour récupere l'heure de la machine
    if [ $h -ge 0 -a $h -lt 12 ]
    then
    echo bonjour
    elif [ $h -ge 12 -a $h -lt 17 ]
    then
    echo bon après midi
    elif [ $h -ge 17 -a $h -lt 0 ]
    then
    echo bonne soiree
    else
    echo erreur
    fi
    perso chez moi ça marche mais pas en machine virtuelle

    $echo date +%H
    14
    [jean@localhost Documents]$ sh ./heure
    bon après midi
    a+

  3. #3
    Membre expérimenté
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Points : 1 320
    Points
    1 320
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elif [ $h -ge 17 -a $h -lt 0 ]
    Correspond mathématiquement à 17 < h > 0. Donc toujours faux. Remplace par

    Donc h > 17
    Avoir un regard neutre sur notre vie dénuée de sens, c'est la voir tel un ignorant
    ------------------------------------------------------------------------------------------------------

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 128
    Points : 51
    Points
    51
    Par défaut
    jeanbi => merci
    Senaku-seishin => vous avez bien raison
    lorsque j'ai changé la dernière elif ça marche.
    merci pour vous les deux

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

Discussions similaires

  1. problème de compréhension script shell
    Par poupouce5 dans le forum Linux
    Réponses: 1
    Dernier message: 27/05/2008, 12h19
  2. Quelques explications sur un script shell
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 14
    Dernier message: 03/07/2007, 19h54
  3. Problème avec mon script shell case in esac
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 28/06/2007, 22h54
  4. Réponses: 3
    Dernier message: 01/03/2007, 10h18
  5. Recherche d'informations sur les scripts shell ?
    Par donny dans le forum Linux
    Réponses: 11
    Dernier message: 27/06/2006, 13h22

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