linux bash脚本运行多个python

时间:2012-12-03 22:00:27

标签: python linux bash

我有2个python脚本a.py和b.py. 我想编写一个bash脚本,它将加载a.py而不是运行b.py,直到a.py完成它为止。 简单地说

#!/usr/bin/env bash
python a.py
python b.py

但这很天真,检查a.py是否已完成......我该怎么做?

2 个答案:

答案 0 :(得分:28)

这默认情况下已经一个接一个地运行。


要检查python a.py是否已成功完成作为运行python b.py的必要条件,您可以执行以下操作:

#!/usr/bin/env bash
python a.py && python b.py

相反,尝试运行python a.py,如果python a.py没有成功终止,则只运行'python b.py':

#!/usr/bin/env bash
python a.py || python b.py

在后台进程的同时运行它们:

#!/usr/bin/env bash
python a.py &
python b.py &

(回应评论) - 您可以将其链接到一行中的多个命令,例如:

python a.py && python b.py && python c.py && python d.py 

答案 1 :(得分:1)

prompt_err() {

echo -e "\E[31m[ERROR]\E[m"

}

prompt_ok() {

echo -e "\E[32m[OK]\E[m"

}

status() {

if [ $1 -eq 0 ]; then

prompt_ok

else     prompt_err

exit -1

fi

}

a.py

status

b.py

您可以使用上面的检查代码。

如果'a.py'完成,那么它将处理'b.py',否则它将以'错误'退出。