我有 2 个 python 脚本 a.py 和 b.py,我想编写一个 bash 脚本来加载 a.py 并且在 a.py 完成之前不运行 b.py。简单地说
#!/usr/bin/env bash
python a.py
python b.py
但这很天真,检查 a.py 是否完成......我该怎么做?
默认情况下,这将一个接一个地运行。
要检查是否python a.py
已成功完成作为运行的必需条件python b.py
,您可以执行以下操作:
#!/usr/bin/env bash
python a.py && python b.py
相反,尝试运行,如果没有成功终止python a.py
,则只运行'python b.py' :python a.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
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”,否则它将以“错误”退出。