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