Tôi đọc rằng thật tệ khi viết những thứ như thế for line in $(command)
, cách chính xác dường như là thay vào đó:
command | while IFS= read -r line; do echo $line; done
Điều này làm việc tuyệt vời. Nhưng nếu những gì tôi muốn lặp lại là nội dung của một biến , không phải là kết quả trực tiếp của một lệnh thì sao?
Ví dụ, hãy tưởng tượng rằng bạn tạo tệp sau quickfox
:
The quick brown
foxjumps\ over -
the
lazy ,
dog.
Tôi muốn có thể làm một cái gì đó như thế này:
# 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