什么是"$$?" 在下面的Makefile片段中是什么意思?
$(PROGS): FORCE
@cd $(BUILD_DIRECTORY_PATH)/$@; \
mkdir -p obj; \
$(MAKE) || exit "$$?"; \ <====== HERE
Run Code Online (Sandbox Code Playgroud)
我想这意味着exit "$?"在bash中,因为$$在makefile中转义为$.
但那 exit "$?"意味着什么呢?
$?是程序退出或完成时的返回码.因此,在你的行
$(MAKE) || exit "$$?"
Run Code Online (Sandbox Code Playgroud)
它会执行$(MAKE).如果该程序没有正确完成,它将返回不同于0的返回代码,然后exit "$$?"执行.这将使当前进程退出到shell,其返回代码与$(MAKE)程序相同,您将能够echo $?在shell中执行该程序.
| 归档时间: |
|
| 查看次数: |
1874 次 |
| 最近记录: |