[英]Makefile and command line different behaviour
我目前正在做一个更大的项目,我想用很少的不同代码作为输入来测试可执行文件。
我这样称呼它./test < code1
并在命令后echo $?
,它显示最后返回的值[0,1,2,..]
我想自动化,所以我在makefile
创建了如下调用:
#makefile
[...]
test :
./test < code1
@echo $$?
./test < code2
@echo $$?
[...]
[...]
所以我可以打电话给make test
。
当程序成功返回0时,一切正常。 但是,当程序必须返回非0的值时,它将显示以下内容:
./test < code3
Makefile:19: recipe for target 'test' failed
make: *** [test[ Error 2
奇怪的是,当我尝试使用导致其在命令行中崩溃的代码调用程序时:
./test < code3; echo $?
它运行完美,并向我显示了最后一个退出状态(例如3)。
我现在很困惑,因为我认为它应该同样起作用。 有人可以帮我吗?
谢谢!
看到这个答案: https : //stackoverflow.com/a/41452754/939557
您需要将echo
置于与测试调用相同的逻辑行中:
test :
./test < code1; echo $$?
./test < code2; echo $$?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.