명령에서 반환된 공백으로 구분된 여러 단어가 포함된 한 줄을 분할해야 합니다. 사용해 보았지만 read
완전히 이상하게 작동합니다. 예를 들어:
echo "Hello World!" | read -ra lines; echo "${lines[@]}"
Bash에서 실행하면 빈 줄이 표시되는데 echo "Hello World!" | read -ra lines; do echo "${lines[@]}"; done
결과는 왜 입니까 Hello World!
?
실행하면 echo "Hello World!" | tee /dev/stdout | read -ra lines; echo "${lines[@]}"
빈 줄도 표시됩니다.
간단한 것조차도 echo "Hello World!" | read hello; echo "$hello"
작동하지 않습니다.
답변1
두 번째 예에는 오타가 있습니다. 그것은해야한다echo "Hello World!" | while read -ra lines; do echo "${lines[@]}"; done