$ cat test.sh
#!/bin/bash
i="-"
cat some_file | while read line
do
i="$i-";
echo $i;
done
echo $i
$ ./test.sh
--
---
----
-----
------
-
Переменная i при входе в цикл сохраняет свое значение и сбрасывает свое значение при выходе из него.
Баг? Фича? Что делать, чтобы значение сохранялось?