Bash流程执行逻辑

时间:2018-04-12 22:13:59

标签: python bash scripting

我有许多脚本要运行,其中一些脚本必须首先完成一个或多个脚本。我已经阅读了一些显示bash控制运算符如何工作的例子,但是没有找到任何好的例子来解决我试图实现的逻辑的复杂性。

我的p_01.py和p_03.py都是p_09.py的要求,但也有单独的进程只需要p_01。例如:

((python p_01.py & python p_03.py) && python p_09.py) & 
(python p_01.py && 
    (
        (python p_05.py;
         python p_10.py) &
        (python p_08.py;
         python p_11.py)
    )
)
wait $(jobs -p)

我的问题是,如何在不重复运行脚本的情况下完成所有运行脚本的脚本(例如p_01.py,你会注意到它在上面两次使用过)?我正在寻找具有一些细节的通用答案,因为实际上依赖性比上面的例子更多/嵌套。谢谢!

1 个答案:

答案 0 :(得分:3)

如果您根据其依赖关系考虑脚本,则难以直接转换为主脚本。考虑使用<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> ,这可以让您直接表达这些依赖关系:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

运行make将运行所有Python脚本,最多可以同时并行执行4个脚本。