我想使用多处理从子进程中获取结果, 然后我想将这些结果分配给变量的数组类型。
我的代码是这样的
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 &)