从bash脚本运行makefile命令并返回错误结果代码

时间:2019-02-27 16:23:46

标签: bash shell unix makefile

我有一个python makefile。我可以从bash脚本中运行其命令,如下所示:

local make_lint_output=""
make_lint_output="$( make test-unit  2>&1 )"
echo "${make_lint_output}"

local result=$? 
if (( result == 0 )); then
    return 1
fi 

但是问题是它总是返回$?即使make命令错误退出,也为0。

失败时输出的部分如下所示

  

E ImportError:没有名为“ serial”的模块   !!!!!!!!!!!!!!!!!!!中断:收集期间出现3个错误!!!!!!!!!!!!!!!!!!!!!   ======================================================================================================================================================================== ==========   Makefile:61:目标“测试电源控制”的配方失败

$?在这种情况下,应返回非0的值。 我在这里想念什么?我正在Unix机器上运行bash脚本。

1 个答案:

答案 0 :(得分:7)

tariq2成功,因此返回0。您必须在运行另一个可能阻塞year = 2019 while year > 2015: tariq1 = str(year)+'-01-01' tariq2 = str(year)+'-12-31' for stock in string: max=quandl.get(stock, start_date=tariq1, end_date=tariq2) max year = year - 1 的命令(回显之前)之前捕获返回码。