是否可以在 bash 中执行类似的操作?
output=$(echo hello; sleep 10) &
pid=$!
# run some more commands
wait $pid
echo $output
我想并行运行多个命令,捕获它们的输出。我想以“干净”的方式做到这一点 - 不写入临时文件等。
最佳答案
您可以使用命名管道在父级和子级之间进行通信,请参阅 man mkfifo了解详情。父级可以使用read命令从管道中获取数据。
关于multithreading - 捕获异步 bash 命令的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194953/