Test

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
Configuration: Linux
Firefox 3.0.3

2 réponses

  1. 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...
    1. 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.