Eu li que é ruim escrever coisas como for line in $(command)
: a maneira correta parece ser:
command | while IFS= read -r line; do echo $line; done
Isso funciona muito bem. Mas e se o que eu quero repetir for o conteúdo de uma variável , não o resultado direto de um comando?
Por exemplo, imagine que você crie o seguinte arquivo quickfox
:
The quick brown
foxjumps\ over -
the
lazy ,
dog.
Eu gostaria de poder fazer algo assim:
# This is just for the example,
# I could of course stream the contents to `read`
variable=$(cat quickfox);
while IFS= read -r line < $variable; do echo $line; done; # this is incorrect