コプロセスは&
を使った非同期と同じ。さらに標準入出力を設定・参照できる。
使ってみる
coproc CP { sleep 2; echo 'AAA'; } read var <&"${CP[0]}" echo "$var"
coproc CP { sleep 2; awk '{print "AWK: " $0; fflush();}'; } echo arg0 >&"${CP[1]}" read var <&"${CP[0]}" echo "$var"
参考
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12
$ uname -a Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux