我正在寻找一种方法来获取命令的输出和退出代码到makefile中的变量。
基本上我想要这个:(bash)
output=$(whoami)
returnval=$?
echo "OUT:"
echo $output
echo "RET:"
echo $returnval
在makefile中
注意:应该在规则部分工作
由于
编辑:已解决
$(eval OUTPUT_RC="$(shell whoami;echo $$?)")
$(eval OUTPUT="$(shell echo $(OUTPUT_RC) | sed -e "s/^\(.*\)\(.\{2\}\)$$/\1/")")
$(eval RC="$(shell echo $(OUTPUT_RC) | sed -e "s/^.*\(.\)$$/\1/")")
echo $(OUTPUT)
echo $(RC)
答案 0 :(得分:0)
如果您打算使用eval
,请直接打印eval
内容。
$(eval $(shell echo OUTPUT_RC=`whoami`; echo $$?))
OUTPUT=$(word 1,$(OUTPUT_RC))
RC=$(word 2,$(OUTPUT_RC))
答案 1 :(得分:-2)
GNU make提供shell
函数,如:
OUTPUT=$(shell whoami)
OUTPUT_RC=$(shell whoami; echo $$?)