On 22 juil. 09, at 00:50, bernard wrote:
> aujourd'hui, sous (Linux, ne pas le répéter), il y a printf (man 1
> printf), comme c'est aussi une commande Posix, on peut supposer
> qu'on la trouve sous BSD, OS X...
>
Yep, Apple est assez fière de sa certification POSIX.
> exemple: (le sleep, c'est pour avoir le temps de voir)
>
Ok pour le sleep.
> for i in 1 2 3 4; do
> printf "%2d\r" $i; sleep 1
> done
Alleluïa, je me doutais que printf interviendrait mais j'ai encore du
mal avec le man, mais c'est exactement ce que je cherchais.
J'ai un peu amélioré le truc pour que l'affichage soit impec quelque
soit le nombre de départ (sachant que je décrémente ça joue), le %2d
posait problème si je partais de 100, donc je calcule d'abord la
longueur pour savoir quoi mettre derrière le %, sachant que ce
paramètre est le premier argument de mon script, c'est donc $1 :
LENGTH=`echo ${#1}`
for (( i = 0; i < $1 ; i++ )); do
printf " Il reste : %${LENGTH}d\r" $(expr $1 - $i)
sleep 1
done
Là encore le sleep est pour avoir le temps de voir, dans mon script ça
joue un morceau de musique passé en second argument, pour ceux qui se
demanderaient, j'utilise la commande afplay (dispo depuis Mac OS X
v10.5).
Merci pour cette aide,
--
24. What's that grinding sound?
101 Things You Do Not Want Your System Administrator To Say
_______________________________________________
archives :
http://listes.patpro.net/list/sshfr.fr.html
http://listes.patpro.net/mailman/listinfo/script_shell_fr