我想在makefile中运行diff并捕获输出,
test:
diff a b > tmp
Run Code Online (Sandbox Code Playgroud)
但是diff如果发现任何差异,则返回非零值。
Make将非零返回码解释为错误,即使我使用-diff忽略该错误,它仍然会打印警告。
makefile:7: recipe for target 'test' failed
make: [test] Error 1 (ignored)
Run Code Online (Sandbox Code Playgroud)
我可以闭嘴吗?
即使diff命令没有,您也需要确保配方返回0(成功)。就像是:
test:
diff a b > tmp || true
Run Code Online (Sandbox Code Playgroud)