Re: [ssfr] Affichage en ligne dans une boucle

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


Le 16 déc. 2013 à 14:09, Edi Stojicevic <estojicevic@xxxxxxxxxxxxxxx> a écrit :
> * steve <dlist@xxxxxxxxxx> [2013-12-16 13:52:20 +0100] wrote :
> 
> [...]
> 
>>  Salut,
>> 
>>  Plus personne sur cette liste depuis longtemps...dommage.
>> 
>>  Voici ce que j'essaie de faire. Soit la boucle suivante:
>> 
>>  for i in *
>>    do
>>      echo "Traitement de $i..."
>>      traitement
>>      echo "Terminé"
>>    done
>> 
>>  J'aimerai que la sortie soit
>> 
>>  Traitement de 1....Terminé
>>  Traitement de 2....Terminé
>>  Traitement de 3....Terminé
>> 
>>  etc...et non pas
>> 
>>  Traitement de 1....
>>  Terminé  
>>  Traitement de 2....
>>  Terminé
>>  Traitement de 3....
>>  Terminé
>> 
>>  Y a-t-il un moyen simple de faire ça ? 
> 
> Salut,
> 
> Effectivement, cela est bien dommage :(
> 
> Sinon pour ta question :
> 
> for i in 1 2 3 ; do          
>  echo -n "Traitement de $i" 
>  commande  | tr '\n' ' ' 
>  echo "Terminé"
> 
> done

Ola,

Attention à la gestion de la commande "echo" qui diffère d'un shell à l'autre pour le "echo" intégré au shell, ou même s'il s'agit de la commande unix "echo". Du coup, le "-n" fonctionne … ou pas. Pour voir, comparer ce qu'on a avec "man echo" et chercher la commande intégrée "echo" dans un "man bash".

Personnellement, j'ai choisi dee forcer l'utilisation de la commande intégrée à Bash avec un :
	shopt -s xpg_echo
en début d'exécution du script.

Du coup, ton script donnerai plutôt :
#!/bin/bash
......
shopt -s xpg_echo
.......
for i in * ;    do
	echo "Traitement de $i...\c"
	traitement | tr '\n' ' ' 
	echo "Terminé"
done

--
Pierre Malard

Fraternité :
   Elle disparaît de plus en plus devant l'idéologie
   ultra-libérale; la solidarité. Ne reste que la... Charité.
 Egalité :
   Les lobbies, autrefois appelés corporatismes et combattu par
   la révolution, lui taille des croupières en influant de plus
   en plus l'esprit des lois (chasse, allocs, SS...)
 Liberté :
   Que représente t'elle sans ses corollaires ? Une vue à
   cour terme en oubliant nos enfants ?

   |\      _,,,---,,_
   /,`.-'`'    -.  ;-;;,_
  |,4-  ) )-,_. ,\ (  `'-'
 '---''(_/--'  `-'\_)
perl -e '$_=q#: 3|\ 5-,3-3,2-: 3/,`.'"'"'`'"'"' 5-.  ;-;;,-:  |,A-  ) )-,_. ,\ (  `'"'"'-'"'"': '"'"'-3'"'"'2(-/--'"'"'  `-'"'"'\-): 22PLM::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/