Потратил некоторое время, чтобы разобраться - делюсь с вами
Код:
#!/bin/bash
RR="rr"
ls -l | while read line;
do
RR="$RR$RR"
done
echo $RR
while read line;
do
RR="$RR$RR"
done < <(ls -l)
echo $RR
простой цикл, казалось бы, должен выдавать одинаковые результаты. Но, в первой части переменная будет жить только до выхода из цикла, во второй - как и полагается, сохранит значение до выхода из скрипта. Особенности работы с пайпом.