У меня есть 2 разных скрипта, которые делают в основном одно и то же: подсчет подкаталогов в текущем каталоге:
c=0
ls -l | grep "^d" | while read zeile
do
c=`expr $c + 1`
echo $c
done
echo "Subdirs: $c"
и
c=0
while read zeile
do
c=`expr $c + 1`
echo $c
done < <(ls -l | grep "^d")
echo "Subdirs: $c"
Моя проблема в том, что в первой версии"c", кажется, теряет свое значение после завершения цикла while.
Выходные данные
1)
1
2
3
Subdirs: 0
2)
1
2
3
Subdirs: 3
Может ли кто-нибудь из вас объяснить мне, почему это происходит?
Заранее спасибо, Алекс