[英]Makefile Throws Error Even When In If Block
我有一個驗證 function 我想在驗證失敗時拋出錯誤。 這是我使用的代碼:
define validate
if [ condition... ]; then \
echo "ERROR"; \
$(error Validation failed); \
fi; \
echo "NOERROR";
endef
我遇到的問題是,即使條件為假,錯誤仍然會被拋出。 當我刪除錯誤並運行 function 時,我可以看到沒有顯示回顯“錯誤”。
為什么會這樣?
這是因為$(error)
是一個make
function 並在將所有此語句傳遞給 shell 之前進行評估。 如果您想從 shell 失敗,只需使用exit 1
代替。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.