bash 多进程 - 获取结果并分配给数组



我想使用多处理从子进程中获取结果, 然后我想将这些结果分配给变量的数组类型。

我的代码是这样的

for (( i=0; i<${#servers[@]}; i++ ));
do
output_strings[$i]=$(ls) &
pids[${i}]=$!
done
for pid in ${pids[*]}; do
wait $pid
done
echo ${#output_strings[@]}

但是,结果未分配到数组中。

实际上,如果我更改代码output_strings[$i]=$(ls(&以回显$(ls(&,它可以工作。

如何分配这些结果?

不要将作业发送到后台。将命令本身发送到后台:

output_strings[$i]=$(ls &)

相关内容

  • 没有找到相关文章

最新更新