Possible Duplicate:
Bash Script - Variable Scope in Do-While loop
In the following code, it prints the correct value of i
in inner while loop, but it prints 0 after it comes out of inner while loop:
string="Medicine"
for file in *
do
i=0
cat $file | while read line
do
echo $line
if [ "$line" == "$string" ];
then
i=`expr $i + 1`
echo $i
fi
done
echo $i
done