Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1767 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  [Shell Script] Ecrire une boucle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Shell Script] Ecrire une boucle

n°799701
e-miel
Posté le 07-04-2006 à 12:19:51  profilanswer
 

Je dispose d'un exécutable traitement que je souhaite exécuter jusqu'à ce qu'il échoue. Voici ce que j'écris d'habitude :

while traitement
do a=Bonjour
done

Y a-t-il une façon plus propre d'écrire ça ?

mood
Publicité
Posté le 07-04-2006 à 12:19:51  profilanswer
 

n°799704
madkat
Posté le 07-04-2006 à 12:27:11  profilanswer
 

C'est très bien comme ca non ?

n°799716
e-miel
Posté le 07-04-2006 à 13:23:15  profilanswer
 

Ce qui ne me plaît pas, c'est la commande a=Bonjour. En fait, j'ai mis une commande bidon car le while n'accepte pas de ne rien faire. Est-il possible de ne faire que le traitement ?

n°799717
l0ky
Posté le 07-04-2006 à 13:30:02  profilanswer
 
n°799726
Pillow
'cos the trees won't talk
Posté le 07-04-2006 à 14:13:14  profilanswer
 

while traitement
do :
done

n°799839
e-miel
Posté le 07-04-2006 à 21:05:17  profilanswer
 

Merci, ça marche.
Je n'ai jamais vu ce "double point". Est-ce une façon propre de dire "je ne fais rien" ?

n°799845
steinworfe​r
Posté le 07-04-2006 à 21:19:44  profilanswer
 

euh normalement c'est ; et non pas :
le point virgule se met en fin de ligne, et ca veut dire que la commande est terminée. si il n'y a rien avant le ';', ben ca ne fait Rien.

n°799846
steinworfe​r
Posté le 07-04-2006 à 21:21:15  profilanswer
 

en fait l0ky te disait surement de mettre :
while traitement  
;
done
alors que pillow ecrit "do :"
c'est 2 manieres d'ecrire la meme chose je pense.

n°799862
Pillow
'cos the trees won't talk
Posté le 07-04-2006 à 22:28:34  profilanswer
 

e-miel a écrit :

Merci, ça marche.
Je n'ai jamais vu ce "double point". Est-ce une façon propre de dire "je ne fais rien" ?

C'est un builtin qui ne fait rien et qui retourne 0. C'est plus ou moins ce qui est le plus "propre" pour réaliser ce genre de choses, oui.
 
En général, on l'utilise plutôt comme ça :

Code :
  1. while :
  2. do traitement || break
  3. done

M'enfin, le shell script n'étant de toute façon pas fait pour être élégant, je pense qu'il ne vaut mieux pas trop s'éterniser sur ces détails stylistiques :o

n°799867
e-miel
Posté le 07-04-2006 à 22:36:59  profilanswer
 

l0ky a écrit :

mettre un ;

J'ai essayé, mais ça ne marche pas : erreur de syntaxe.
 

Pillow a écrit :

while traitement
do :
done

Ca marche !!!
 

steinworfer a écrit :

euh normalement c'est ; et non pas :
le point virgule se met en fin de ligne, et ca veut dire que la commande est terminée. si il n'y a rien avant le ';', ben ca ne fait Rien.

Ton raisonnement est valable, mais il ne résoud pas le problème.
 

steinworfer a écrit :

en fait l0ky te disait surement de mettre :
while traitement  
;
done
alors que pillow ecrit "do :"
c'est 2 manieres d'ecrire la meme chose je pense.

J'ai essayé ce que tu suggère (sans le do) et ça ne marche pas : erreur de syntaxe.
 
Suite à tout ça, je repose ma question :

e-miel a écrit :

Je n'ai jamais vu ce "double point". Est-ce une façon propre de dire "je ne fais rien" ?

mood
Publicité
Posté le 07-04-2006 à 22:36:59  profilanswer
 

n°799868
e-miel
Posté le 07-04-2006 à 22:38:34  profilanswer
 

Merci pour ta réponse pillow, je ne l'avais pas vue avant de commencer ma réponse.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  [Shell Script] Ecrire une boucle

 

Sujets relatifs
[Debian] Je ne peux plus me connecter en root... Plus de shell !executer un script avec www-data et mot de passe ?
Bug d'affichage du shell :SUtilisé le fichier /proc dans un script C
[Résolu] Script ftp : Problème de répertoireScript de reconnexion ADSL
taille de la police en shell[Résolu] Script en tcl/tk8.0 ???
script d'affichage mp3 linux[Debian / IPTables] Création du script ?
Plus de sujets relatifs à : [Shell Script] Ecrire une boucle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR