Re: [#!/fr] Question d'affichage et de compteur

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Laurent PERTOIS
Date:  
À: La liste francophone des scripts shell
Sujet: Re: [#!/fr] Question d'affichage et de compteur
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