我试图用Make命令抛出错误。这是我的makefile:
exit:
val=1
exit $(val)
然而,当我运行make exit && echo $?
时,它给了我退出代码0.我期待退出代码1。
我用错了吗?欣赏它。
答案 0 :(得分:3)
$(name)
引用的makefile变量与shell变量之间存在根本区别,shell变量在目标内声明为命令的一部分,并使用$${name}
引用。你想要的是一个等同于val=1 && exit $val
的单个命令:
exit:
val=1 && exit $${val}
或简单命令中使用的makefile变量:
val = 1
exit:
exit $(val)