#1 Le 13/05/2013, à 01:44
- frechajar
boucle while et until avec shell
Rebonsoir tout le monde ,
L'utilisateur fait entrer une chaine oui ou la chaine non et si il fait entrer autre chose,
le script redemande la saisie jusqu'a ce qu'il entre oui ou non
je commence avec ce petit code vu que je suis debutante
# sh saisie.sh
echo "entrer une chaine "
read $chaine
if [$chaine -eq "oui"]
thenecho "ok pour la chaine "
elif[$chaine -eq "non"]
then echo "ok pour la chaine "
else echo "resaisie la chaine "
Comment je peux utiliser la boucle until et while pour ce script ?????
Hors ligne
#2 Le 13/05/2013, à 04:36
- nesthib
Re : boucle while et until avec shell
while read -p "Entrer une chaîne (oui/non) : " chaine
do
case $chaine in
oui) echo 'ok pour la chaîne OUI' ; break ;;
non) echo 'ok pour la chaîne NON' ; break ;;
esac
done
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#3 Le 13/05/2013, à 08:27
- tiramiseb
Re : boucle while et until avec shell
Autre approche possible :
while [ "$chaine" != "oui" -a "$chaine" != "non" ]
do
read chaine
done
if [ "$chaine" = "oui" ]
then
echo "ok pour la chaine OUI"
elif [ $chaine = "non" ]
then
echo "ok pour la chaine NON"
fi
Et encore une autre approche :
while [ "$chaine" != "oui" -a "$chaine" != "non" ]
do
read chaine
done
case "$chaine" in
oui)
echo "ok pour la chaine OUI"
;;
non)
echo "ok pour la chaine NON"
;;
esac
Attention, plusieurs erreurs graves dans ton script :
- la commande "read" prend le nom de la variable ("chaine") et non sa valeur ("$chaine")
- il faut mettre des espaces avant et après "[" et "]"
- il faut mettre une espace après "then"
- avec "-eq" tu testes une égalité numérique, si tu veux tester une égalité de chaîne il faut utiliser "="
C'est encore pour ton examen ?
Dernière modification par tiramiseb (Le 13/05/2013, à 12:18)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#4 Le 13/05/2013, à 12:10
- Watael
Re : boucle while et until avec shell
salut tiramiseb
&& provoque une erreur à l'intérieur d'un test, il faudrait utiliser l'option -a, ou alors deux instructions test.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 13/05/2013, à 12:18
- tiramiseb
Re : boucle while et until avec shell
Oups désolé, j'aurais dû me relire. J'ai corrigé l'erreur dans le message #3, merci Watael.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#6 Le 13/05/2013, à 12:27
- frechajar
Re : boucle while et until avec shell
Je vous remercie infiniment c'est tres gentil
Hors ligne
#7 Le 13/05/2013, à 12:33
- frechajar
Re : boucle while et until avec shell
coucou tiramiseb,
oui c'est pour l'examen nous aurons des question similaire a une serie sans correction et sans aucun exemple en cour,
j'essaye d'apprendre a programmer .
Merci a vous
Hors ligne
#8 Le 13/05/2013, à 12:38
- tiramiseb
Re : boucle while et until avec shell
Mais ce ne sont pas des choses que tu dois voir en cours !?
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#9 Le 13/05/2013, à 12:42
- frechajar
Re : boucle while et until avec shell
j'aimerais avoir juste des exemple pour pouvoir faire d'autres, par contre maintant je suis capable de raisonner un peu grace au forum .
Merci
Hors ligne
#10 Le 13/05/2013, à 12:51
- frechajar
Re : boucle while et until avec shell
cher tiramiseb !!!
Excusez moi pourriez vous m'aider sur ce qui est posté sur ce lien ???
http://forum.ubuntu-fr.org/viewtopic.ph … #p13529801
J'arrive pas a le faire
Hors ligne