1

我有一个这样的 bash 代码。

while <some_condition>
do
    some_script &
done

我的目的是获取 some_script 代码的所有输出并分配一个变量。我试着写

out=`some_script &`

但是这次 some_script 代码没有同时运行。我能做些什么?

4

1 回答 1

3

您可以将后台命令重定向到临时文件,然后wait让它们完成并将输出收集回变量:

while <some_condition>
do
    temp=$(mktemp)
    temps=$temps" $temp"
    some_script > $temp &
done
wait
output=$(cat $temps)
rm $temps
于 2012-08-28T11:30:34.453 回答