1

这是我的情况:

我想按顺序依次运行 Python 脚本,从 scriptA.py 开始。当 scriptA.py 完成时, scriptB.py 应该运行,然后是 scriptC.py。在这些脚本按顺序运行后,我需要运行 rsync 命令。

我打算像这样创建 bash 脚本:

#!/bin/sh
python scriptA.py
python scriptB.py
python scriptC.py
rsync blablabla

这是性能和稳定性的最佳解决方案吗?

4

2 回答 2

5

要仅在前一个命令成功完成后运行命令,您可以使用逻辑 AND:

python scriptA.py && python scriptB.py && python scriptC.py && rsync blablabla

因为只有当所有语句都为真时,整个语句才会为真,所以 bash “短路”并且只有在前一个语句成功完成时才开始下一个语句;如果一个失败,它会停止并且不会启动下一个命令。

那是您要寻找的行为吗?

于 2012-05-16T14:02:15.387 回答
3

如果您对 python 有一定的经验,那么编写一个从其他脚本导入并执行相关函数的 python 脚本几乎肯定会更好。这样你就可以使用 pythons 异常处理了。您也可以在 python 中运行 rsync。

于 2012-05-16T14:03:00.043 回答