분할 명령으로 반환된 데이터

분할 명령으로 반환된 데이터

명령에서 반환된 공백으로 구분된 여러 단어가 포함된 한 줄을 분할해야 합니다. 사용해 보았지만 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

관련 정보