什么" $$?"在这个makefile片段中意味着什么?

时间:2016-07-26 13:45:09

标签: bash makefile

" $$是什么?"在Makefile片段下面是什么意思?

$(PROGS): FORCE
    @cd $(BUILD_DIRECTORY_PATH)/$@; \
    mkdir -p obj; \
    $(MAKE) || exit "$$?"; \  <====== HERE

ADD 1

我想这意味着bash中的exit "$?",因为makefile中的$$会转义为$

exit "$?"是什么意思呢?

1 个答案:

答案 0 :(得分:5)

$?是程序退出或完成时的返回码。因此,在你的行

$(MAKE) || exit "$$?"

它将执行$(MAKE)。如果此程序未正确完成,则返回代码将不等于0,然后将执行exit "$$?"。这将使当前进程退出到shell,其返回代码与$(MAKE)程序相同,您可以在shell中显示执行echo $?