Test
alibm
Messages postés
100
Statut
Membre
-
tuxun Messages postés 388 Statut Membre -
tuxun Messages postés 388 Statut Membre -
Bonjour,
echo "entrez un nombre compris entre 8 et 12, 14 et 18"
read heur
while [[ $heur != [0-9]* || $heur != [0-9]* || $heur < 1 ]]; do
echo "Veillez vérifier l'heure"
read heur
done
Veuillez voir ce code.
mon problème comment faire pour que je peux sisir que des entiers entre 8 et 12, 14 et 18
Merci d'avance
--
PDG
echo "entrez un nombre compris entre 8 et 12, 14 et 18"
read heur
while [[ $heur != [0-9]* || $heur != [0-9]* || $heur < 1 ]]; do
echo "Veillez vérifier l'heure"
read heur
done
Veuillez voir ce code.
mon problème comment faire pour que je peux sisir que des entiers entre 8 et 12, 14 et 18
Merci d'avance
--
PDG
Configuration: Linux Firefox 3.0.3
2 réponses
-
Salut,
Comme il s'agit d'heures, visiblement... j'aurais demandé que l'on saisisse une heure entre 08 et 12 et entre 14 et 18.
Ainsi, tu peux déjà limiter avec les regexp suivantes $heur!=0[8-9] | $heur!=1[0-2] et pour la deuxième tranche $heur!=1[4-8]
On peut probablement faire encore mieux, en cherchant un peu...
Cela dit, outre les regexp à améliorer, ton code me semble erroné.
Tu as deux fois la commande read et tu ne définis pas heur en tant que variable !
A bientux.
-
Salut!
j'arrive a ceci, j'espere que cela pourra t'aider...
#!/bin/bash
echo "entrez un nombre compris entre 8 et 12, 14 et 18"
read heur
if [ $heur -ge 8 ] && [ $heur -le 12 ] || [ $heur -ge 14 ] && [ $heur -le 18 ] ; then echo "ds les intervalles"
while [[ $heur != [0-9]* || $heur != [0-9]* || $heur < 1 ]]; do echo "Veillez vérifier l'heure" read heur; done
else
echo "hors 8 et 12 et hors 14 et 18";
fi
Je me suis aidé de ces exemples: (http://www.laboiteaprog.com/prog/bash_condition.zip)
Cordialement,tuxun...