How do I "read" a variable on a while loop
You can just use
your_code | while read line;
do
echo $line
done
if you don't mind the while loop executing in a subshell (any variables you modify won't be visible in the parent after the done
).
You can write:
while IFS= read -r line
do
echo "$line"
done <<< "$the_list"
See §3.6.7 "Here Strings" in the Bash Reference Manual.
(I've also taken the liberty of adding some double-quotes, and adding -r
and IFS=
to read
, to avoid too much mucking around with the contents of your variables.)
If you do not use the variable for anything else, you can even do without it:
while read line ; do
echo $line
done < <( ... code ... )