分割コマンドで返されたデータ

分割コマンドで返されたデータ

コマンドによって返されるスペースで区切られた複数の単語を含む行を分割する必要があります。試してみましたが、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

2番目の例にはタイプミスがあります。しなければならないecho "Hello World!" | while read -ra lines; do echo "${lines[@]}"; done

おすすめ記事