我有这个命令:
coverage report | tee >(grep TOTAL | awk '{exit (int($4) >= 75)?0:1}') && (exit ${PIPESTATUS[0]})
它报告代码覆盖率,然后将输出打印到stdout
并将相同的输出重定向到 grep + awk,它基本上检查代码覆盖率是少于还是多于75
. 最后,exit
在子shell 中有一个,我假装在我的 CI/CD 管道中使用它。
问题是我的 CI/CD 总是成功完成,这不应该发生,因为在我的测试中代码覆盖率低于 75%。这意味着它PIEPSTATUS
没有返回我期望它返回的内容(awk 的exit
代码)。
问题出在哪里?我究竟做错了什么?