Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/04/2020, à 16:28

MichaelMtl

Script bash :interrompre un boucle infinie en entrant une valeur

Bonjour tout le monde !
je suis vraiment nouveau dans ce domaine, pourriez-vous m'aider s'il vous plait? Je dois exécuter la boucle infinie suivante:
#!/bin/bash
#Comment
now=(date)
while :
do
echo $now
done

et la demande est :
<<Le script tourne dans une boucle infinie qui affiche l’heure et attend une entrée de l’utilisateur.  Tant que l’utilisateur fait simplement « enter », on réaffiche l’heure à nouveau et on attend encore une entrée…  Si l’utilisateur entre « 0 », la boucle se termine proprement avec le message « Exécution terminée »
Comment faire pour arrêter la boucle en appuyant sur entrée, et puis taper une valeur?
J'ai beaucoup cherché sur Internet mais je ne trouve pas la réponse.....
Merci en avance !

Hors ligne

#2 Le 05/04/2020, à 16:52

kamaris

Re : Script bash :interrompre un boucle infinie en entrant une valeur

Tape

help read

dans un terminal, et vois ce que tu peux en faire wink

Hors ligne

#3 Le 05/04/2020, à 19:37

Watael

Re : Script bash :interrompre un boucle infinie en entrant une valeur

salut,

AVANT de coder,
il faut transcrire la "demande" en "raisonnement informatique" (en algorithme) :

Tant_que "la_valeur_entrée_par_l’utilisateur" n'est_pas__égale_à '0'
	on affiche l’heure
	on *lit* une entrée dans la_valeur_entrée_par_l'utilisateur
finTantQue
afficher "fin boucle"

la demande est piégeuse, parce que
- la boucle a une fin : l'utilisateur entre "0"
- le script "n'attend pas" : il demande que l'utilisateur entre une donnée et la valide.

Dernière modification par Watael (Le 05/04/2020, à 20:53)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 06/04/2020, à 10:42

Hizoka

Re : Script bash :interrompre un boucle infinie en entrant une valeur

Y a plusieurs façons de le faire smile

avec une boucle ou simplement avec une fonction qui s'appelle elle même si besoin.

par contre, avec ton exemple, l'heure que tu affiches sera toujours la même...

et sinon, comme indiqué, regarde read smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne