[英]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.