Makefile:在规则中捕获错误代码,忽略错误,根据错误代码做出决定

时间:2015-01-09 02:57:45

标签: shell makefile

所以,我现在有这个:

TEST = "?"
oktest:
    @-/bin/false && ([ $$? -eq 0 ] && echo "success!") || true; $(eval TEST = "all ok")
    @echo $(TEST)
badtest:
    @-/bin/false && ([ $$? -eq 0 ] && echo "success!") || true; $(eval TEST = "got error")
    @echo $(TEST)
    @T=echo;if [ $(TEST) = "got error" ]; then \
        echo "some error detected, cleanup env and fail test"; \
        /bin/false; \
    fi
all: oktest badtest 

如您所见,它基于:

  • 忽略错误代码(“ - ”和“|| true”,两者都可以,但我更喜欢这种方式)
  • 与shell代码进行运行时比较。
  • 使用返回false的shell命令中止。

有没有办法缩短它,保存返回的错误代码并将其与运行时的已知值进行比较 - 而不回退到嵌入式shell代码或外部脚本?

0 个答案:

没有答案