2016-06-22 9 views
0

私は、1行のテキストを読んで分割したいので、readコマンドを使用することにしました。 私はこのようにしてみてください、bashのstdinによる読み取りコマンド

$ echo 'a b c d' | while read -a VARARR ; do echo ${VARARR[@]}; done 
a b c d 

すべてが正常に動作しますが、whileコマンドが冗長であるように思えるので、私は

$ echo 'a b c d' | read -a VARARR 

を試してみました。しかし、これは動作しません。 なぜですか?

+1

これはBashFAQ#24でもあります:http://mywiki.wooledge.org/BashFAQ/024 –

答えて

0

ああ、答えはhereです。

パイプのコマンドは親シェルを変更することはできませんサブシェルで実行されるので、それは

、と言います。その結果、親シェルの変数は変更されません

関連する問題