くだらねえ質問はここに書き込め!Part 224 [無断転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0713login:Penguin
2016/05/25(水) 10:43:34.63ID:tZWdizjKあーそっか、ごめん
それは | の右側はサブシェルで実行されるから
サブシェルは別プロセスなので、そこで作られた変数は親シェル(現在のシェル)からは見えない
こういう場合「プロセス置換」とリダイレクト(<)を組み合わせるのが常套手段らしい
$ mapfile array < <(printf 'foo\nbar\n')
$ echo 1: ${array[0]}; echo 2: ${array[1]}
1: foo
2: bar
$
参考
bash - readarray (or pipe) issue - Unix & Linux Stack Exchange
http://unix.stackexchange.com/questions/136206/readarray-or-pipe-issue/136216#136216
bashのプロセス置換(Process Substitution)で中間ファイルを不要に | システム開発メモ
http://progmemo.wp.xdomain.jp/archives/189
■ このスレッドは過去ログ倉庫に格納されています