stdout を変数に保存し、コマンドをバックグラウンドで送信します。

stdout を変数に保存し、コマンドをバックグラウンドで送信します。

Bashスクリプトにコマンドがあり、そのコマンドの出力をキャプチャしてバックグラウンドで送信したいと思います。これをどのように実行しますか?

次はうまくいかないようです(続行してブロックして何も出力しません)。

result=`node /var/www/animekyun/node/node_modules/peerflix/app.js $torrent -r -q &`

これはうまくいかないようです。ところで、出力は2行で、変数に配列として保存したいと思います。これにより、スクリプトの残りの部分で出力を使用できるようになります。

ベストアンサー1

テストされていませんが、FIFOで動作できます。

filename=/tmp/my.fifo
mkfifo $filename
node /var/.../app.js $torrent -r -q >$filename &
{ read first_line; read second_line; } <$filename

# do something with "$first_line" and "$second_line"

おすすめ記事