在make中,如果我想捕获shell命令的输出,我会做这样的事情
RESULT:=$(shell $(COMMAND))
如果我想检查命令是否正确执行,我会这样做
RETURN_CODE := $(shell $(COMMAND); echo $$?)
我怎么能同时做两个,即执行一次命令,存储输出,还检查返回码?
编辑 复制在这里,虽然他的解决方案不愉快: Makefile:输出和Exitcode变量?
关于什么
OUTPUT_WITH_RC := $(shell $(COMMAND); echo $$?) RETURN_CODE := $(lastword $(OUTPUT_WITH_RC)) OUTPUT := $(subst $(RETURN_CODE)QQQQ,,$(OUTPUT_WITH_RC)QQQQ)
如果你的命令失败,它可能会写入stderr; 你可以用它来捕捉一切:
OUTPUT_WITH_RC := $(shell $(COMMAND) 2>$1; echo $$?)