捕获异步bash命令的输出?

时间:2011-08-25 17:53:21

标签: multithreading bash scripting asynchronous

是否可以在bash中执行此类操作?

output=$(echo hello; sleep 10) &
pid=$!
# run some more commands
wait $pid
echo $output

我想并行运行多个命令,捕获它们的输出。我想以“干净”的方式来做 - 不要写临时文件等。

1 个答案:

答案 0 :(得分:3)

您可以使用命名管道在父级和子级之间进行通信,有关详细信息,请参阅man mkfifo。 Parent可以使用 read 命令从管道中获取数据。