Я читав, що погано писати такі речі for line in $(command)
, як здається, правильно замість цього:
command | while IFS= read -r line; do echo $line; done
Це чудово працює. Але що робити, якщо те, що я хочу повторити, це вміст змінної , а не прямий результат команди?
Наприклад, уявіть, що ви створюєте такий файл quickfox
:
The quick brown
foxjumps\ over -
the
lazy ,
dog.
Я хотів би мати можливість зробити щось подібне:
# 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