这是我的情况:
我想按顺序依次运行 Python 脚本,从 scriptA.py 开始。当 scriptA.py 完成时, scriptB.py 应该运行,然后是 scriptC.py。在这些脚本按顺序运行后,我需要运行 rsync 命令。
我打算像这样创建 bash 脚本:
#!/bin/sh
python scriptA.py
python scriptB.py
python scriptC.py
rsync blablabla
这是性能和稳定性的最佳解决方案吗?
这是我的情况:
我想按顺序依次运行 Python 脚本,从 scriptA.py 开始。当 scriptA.py 完成时, scriptB.py 应该运行,然后是 scriptC.py。在这些脚本按顺序运行后,我需要运行 rsync 命令。
我打算像这样创建 bash 脚本:
#!/bin/sh
python scriptA.py
python scriptB.py
python scriptC.py
rsync blablabla
这是性能和稳定性的最佳解决方案吗?
要仅在前一个命令成功完成后运行命令,您可以使用逻辑 AND:
python scriptA.py && python scriptB.py && python scriptC.py && rsync blablabla
因为只有当所有语句都为真时,整个语句才会为真,所以 bash “短路”并且只有在前一个语句成功完成时才开始下一个语句;如果一个失败,它会停止并且不会启动下一个命令。
那是您要寻找的行为吗?
如果您对 python 有一定的经验,那么编写一个从其他脚本导入并执行相关函数的 python 脚本几乎肯定会更好。这样你就可以使用 pythons 异常处理了。您也可以在 python 中运行 rsync。