我希望使用多进程从子进程中获得结果,然后将这些结果赋给变量的数组类型。
我的代码是这样的
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) &,它就可以工作。
如何分配这些结果?
发布于 2018-10-09 00:42:02
不要将任务发送到后台。将命令本身发送到后台:
output_strings[$i]=$(ls &)https://stackoverflow.com/questions/52704539
复制相似问题