首页 > 解决方案 > 如何让bash在另一个动作之前等待python脚本完成运行

问题描述

我最近一直在开发一个 bash 脚本来自动运行另一个我用 selenium 开发的 python 脚本 10 次。我通常会在 python 内部使用多进程,但是 selenium 给我在同时运行的浏览器中带来了一些痛苦。

在我的 bash 脚本中,我编写了一个简单的循环,如下所示:

rangeEnd=$((10000/1000))
for num in $(seq 1 $rangeEnd)
do
  python3 myscript.py $num & disown;
wait
done
python3 nextscript.py
echo All done

让我感到困惑的是,不是运行myscript.py10 次,然后在这些脚本完成nextscript.py执行后,它似乎只执行了myscript.py10 次命令,然后立即退出循环并运行最后一个脚本nextscript.py

我希望弄清楚的是,在nextscript.py所有十个实例myscript.py完成之前,我将如何确保 bash 脚本不会执行最终脚本。

对于它的价值,myscript.py应该需要大约 10 个小时才能完成运行。

抱歉,如果之前已经回答过这个问题,我是 bash 脚本的新手,很难找到答案。

标签: pythonlinuxbashshellubuntu

解决方案


推荐阅读