Здравствуйте!
Для начала создадим файл tst, состоящий из трёх строк:
for i in {a..c}; do echo $i >> tst; done
Читаем:
~$
>cat tst
a
b
c
~$
>a=0; while read; do ((++a)); echo $a; done < tst; echo "Всего строк "$a
1
2
3
Всего строк 3
~$
>a=0; cat tst | while read; do ((++a)); echo $a; done; echo "Всего строк "$a
1
2
3
Всего строк 0
Вопрос: Почему переменная «a» после завершения цикла не сохраняет своё значение, что я делаю не так?
Заранее благодарен за ответы!
P.S. Newbie