나는 다음 과 같은 것을 쓰는 것이 좋지 않다는 것을 읽었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