我想使用多重处理从子流程中获得结果, 然后我要将这些结果分配给变量的数组类型。
我的代码是这样的
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)&,则可以。
如何分配这些结果?
答案 0 :(得分:0)
不要将作业发送到后台。将命令本身发送到后台:
output_strings[$i]=$(ls &)