A voir également:
- Shell pause
- Classic shell windows 11 - Télécharger - Personnalisation
- Shell addition ✓ - Forum Shell
- Touche pause clavier ✓ - Forum Clavier
- Annonce en pause leboncoin ✓ - Forum Services en ligne
- Imprimante en pause hp ✓ - Forum Imprimante
2 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
23 déc. 2011 à 17:51
23 déc. 2011 à 17:51
Salut,
Un exemple pour mieux expliquer...
;-))
Un exemple pour mieux expliquer...
$ cat foo.sh #! /bin/bash #set -xv while : do read -p "Voulez-vous continuer ? [Yy/Nn] " reponse case "${reponse}" in [Yy]) echo "On continue..." continue ;; [Nn]) echo "Bye bye..." break ;; *) echo "Mauvaise réponse..." continue ;; esac done echo "Merci de votre visite" exit $ ./foo.sh Voulez-vous continuer ? [Yy/Nn] O Mauvaise réponse... Voulez-vous continuer ? [Yy/Nn] o Mauvaise réponse... Voulez-vous continuer ? [Yy/Nn] Y On continue... Voulez-vous continuer ? [Yy/Nn] y On continue... Voulez-vous continuer ? [Yy/Nn] N Bye bye... Merci de votre visite $
;-))
Utilisateur anonyme
23 déc. 2011 à 18:01
23 déc. 2011 à 18:01
salut,
ce qui se passe, étant donné que tu ne mets pas d'espaces autour du =, le test se fait sur le texte, or le texte existe, donc le test est vrai. Mais ça ne teste pas l'égalité de $mot et de N ou n.
ce qui se passe, étant donné que tu ne mets pas d'espaces autour du =, le test se fait sur le texte, or le texte existe, donc le test est vrai. Mais ça ne teste pas l'égalité de $mot et de N ou n.
Modifié par Bb1503 le 23/12/2011 à 17:57
je l'ai comprise, cependant je n'ai pas compris le commentaire #set -xv
ni la condition de ton while ; un while peu ne pas avoir de condition d'arrêt ?
23 déc. 2011 à 17:57
[Yy]) echo "On continue..."
break
;;
[Nn]) echo "Bye bye..."
exit
;;
*) echo "Mauvaise réponse..."
continue
;;
?
23 déc. 2011 à 18:00
La condition "while :" on aurait pu l'écrire "while true", donc tant que la condition est vraie...
Donc ici l'arrêt est déclenché par l'instruction "break".
23 déc. 2011 à 18:06
Tu mets ce que tu veux. Mon exemple vaut juste pour la méthode, après à toi d'adapter à tes besoins ;-))
23 déc. 2011 à 18:08
Avec ton exemple, si je saisis "y" ou "Y" la boucle continue de tourner, on redemande encore une fois si on veut continuer ... alors que je veux continuer !
C'est pour çà que je me suis permis ce "pourquoi ne pas mettre" ^^
merci pour ton aide !