0
私はこのように、ファイルからのラインの束を読み取り、アレイに各ラインを追加しようとバッシュシェルスクリプトを書いていたアレイに追加されていませんdoc.txt
には、各行に1語ずつ含まれています。配列を印刷するとき(echo ${myArr[@]}
またはfor x in ${myArr[@]};do echo $x; done
)、配列が空であるようです。私は間違って何をしていますか?ありがとう!要素はループ
を編集してください:私は同じ結果を得てKshでこれをやってみました。私は両方で同じ問題があるように思われるので、BashまたはKshのいずれかの回答が受け入れられます。
単一のコマンドを使用することができ、あなたが 'ksh'を使用していますか?たとえば、 'bash'では' while'ループがサブプロセスで実行されます。これは 'myArr'がパイプラインを実行するシェルで変更されていないことを意味します。 read -r行中に 'を試してください。行う ...; done
chepner
悪名高い 'cat file | cmd' ... @chepnerによって提案されたリダイレクションを使うか、ループの前に 'shopt -s lastpipe'を使います(リダイレクトがはるかに優れています)。 – PesaThe
そして[BashFAQ/024](http://mywiki.wooledge.org/BashFAQ/024) –