Afficher un message
Vieux 16/05/2007, 11h41   #2
Kenan Kalajdzic
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: bash while read line and variable scope?

Roc Zhou <chowroc.z@gmail.com> wrote:
> Look at these 2 similar scripts:
> (1)
> echo -e "aaa\nbbb\nccc\nddd" >tmp
> value=0;
> while read line; do
> value=`expr $value + 1`
> echo $value
> done <tmp
> rm -f tmp
> echo "at last: $value"
>
> result:
> 1
> 2
> 3
> 4
> at last: 4
>
> (2)
> value=0
> echo -e "aaa\nbbb\nccc\nddd" | while read line; do
> value=`expr $value + 1`
> echo $value
> done
> echo "at last: $value"
>
> result:
> 1
> 2
> 3
> 4
> at last: 0
>
> I don't want to add a 'tmp' file, is there any other way? And I also
> want to know what makes the differences.


Try this script and see if it gives you any clues:

echo "---" >tmp
while read line; do
ps aux | grep "$0" | grep -v grep
done <tmp
rm -f tmp

echo "---"
echo line | while read line; do
ps aux | grep "$0" | grep -v grep
done

--
Kenan Kalajdzic
  Réponse avec citation
 
Page generated in 0,05299 seconds with 9 queries