我正在寻找一种并行运行函数的方法,并准确地知道所有函数实例何时完成. 我添加了一个微调函数(该函数的实例运行时间不同,取决于变量,因此我需要在屏幕上看到一些内容),并try 了以下方法:
for a in "${ARRAY[@]}"; do
spin='/-\|'
while true; do
i=$(( (i+1) %4 )); printf "\r[ ${spin:$i:1} ] "; sleep .3;
done & someFunction &
kill $!; trap 'kill $!' SIGTERM
done
但someFunction
美元并不管用.我猜想是因为如果它被作为someFunction &
触发,它会被下一个代码行立即杀死.此外,在脚本结束后,微调工具将永远在CLI上工作.
怎样才能同时运行someFunction
次,直到最后一次完成,并保持旋转到那时?