我在执行linux工具时有一个makefile规则。我需要检查工具命令的退出状态,如果该命令失败,则必须中止make。
我尝试检查$?,$$?\ $?等等在makefile中。但是当makefile运行时,它们给了我语法错误。
什么是正确的方法?
这是Makefile中的相关规则
mycommand \ if [ $$? -ne 0 ]; \ then \ echo "mycommand failed"; \ false; \ fi
在makefile中:
mycommand || (echo "mycommand failed $$?"; exit 1)
makefile操作中的每一行都调用一个新的shell-必须在命令失败的操作行中检查错误。
如果mycommand失败,则逻辑分支到echo语句,然后退出。