2012-05-16 120 views
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 

这是对性能比较稳定的最佳解决方案?

+0

你的脚本已经按照你想要的顺序运行它们。如果你可以多描述一下你想要的东西,最好能得到相关的答案。 – anubhava

+0

for @anubhava and downvotes,please read the pjmorse answer – user1147636

+1

如果你想创建一个bash脚本,那么你希望文件的第一行读取'#!/ bin/bash'。现在,它将在Bourne shell中运行。 –

回答

5

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

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

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

这是您正在寻找的行为吗?

+0

非常感谢您的回答非常有用! – user1147636

3

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

+0

感谢您的回复。我没有太多的经验使用Python不幸的 – user1147636

+0

那么从@pjmorse这个答案这是你的最佳解决方案 – snies