Merci pour vos réponses,le script que j'ai mis dans mon mail est juste un script qui montre le truc que je comprend pas, le but n'est pas de compter des lignes.
D'ailleur il y a toujours un truc que je comprend pas : mon script marche pas : #! /bin/sh i=0 cat "/etc/passwd" | while read ligne ; do i=$((i + 1)) done echo $i Mais celui la marche : #! /bin/sh n=10 i=1 f=1 while [ $i -le $n ] ; do f=$((f * i)) i=$((i + 1)) done echo "$n! = $f" Jacques L'helgoualc'h a écrit :
La boucle do s'exécute dans un sous-shell, qui peut hériter des variables, mais pas les renvoyer au shell père : (bash)
Dans ce cas, il semble bien que le shell pere accede a la variable $f. Merci ced