【问题标题】:What does "$$?" mean in this makefile snippet?"$$?" 是什么意思?在这个makefile片段中是什么意思?
【发布时间】:2016-07-26 13:45:09
【问题描述】:

“$$”是什么意思?意思是在Makefile下面的sn-p?

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

添加 1

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

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

【问题讨论】:

  • 以上一条命令的返回码退出。如果您在谷歌搜索代码时遇到问题,请尝试在 symbolhound 上进行搜索。即symbolhound.com/?q=exit+%24%3F+bash
  • @123 非常感谢! Symbolhound 对程序员来说简直太棒了!我找到了答案!

标签: bash makefile


【解决方案1】:

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

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

它将执行$(MAKE)。如果这个程序没有正确完成,它将有一个不同于 0 的返回码,然后exit "$$?" 将被执行。这将使当前进程以与$(MAKE) 程序相同的返回码退出到shell,您将能够显示在shell 中执行echo $?

【讨论】:

    【解决方案2】:

    换句话说,$$?$? 的 Makefile 等价物。在 Make 中,要转义 $?,您需要使用 $$?。更多信息:Shell status codes in make

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 1970-01-01
      • 2018-10-29
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      相关资源
      最近更新 更多