Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2011, 14h04   #1
Membre à l'essai
 
Inscription : décembre 2009
Messages : 128
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 128
Points : 20
Points : 20
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 :
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
hindou90 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 14h32   #2
Membre Expert
 
Avatar de jeanbi
 
Inscription : avril 2003
Messages : 1 643
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 1 643
Points : 1 843
Points : 1 843
bonjour
Citation:
#!/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

Citation:
$echo date +%H
14
[jean@localhost Documents]$ sh ./heure
bon après midi
a+
jeanbi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 14h35   #3
Membre Expert
 
Étudiant
Inscription : août 2004
Messages : 500
Détails du profil
Informations personnelles :
Âge : 22

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2004
Messages : 500
Points : 1 017
Points : 1 017
Envoyer un message via MSN à Senaku-seishin
Code :
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
Senaku-seishin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 20h52   #4
Membre à l'essai
 
Inscription : décembre 2009
Messages : 128
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 128
Points : 20
Points : 20
jeanbi => merci
Senaku-seishin => vous avez bien raison
lorsque j'ai changé la dernière elif ça marche.
merci pour vous les deux
hindou90 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h42.


 
 
 
 
Partenaires

Hébergement Web