【问题标题】:What does $${var} mean?$${var} 是什么意思?
【发布时间】:2015-07-07 11:52:49
【问题描述】:

以下代码中的$${spkr} 是什么意思,它来自 Makefile?

for spkr in $(ALLSPKR); do
    mkdir -p mgc/$${spkr}
    for wav in wav/$${spkr}/$(DATASET)_$${spkr}_*.wav; do
        # other stuff
    done
done

【问题讨论】:

  • 是在make的上下文中吗?
  • 这段代码在哪里?在 make 文件中?
  • 是的,在make文件里,谢谢大家!

标签: bash for-loop makefile pid


【解决方案1】:

这意味着您正在阅读嵌入在 Makefile 中的 shell 脚本。美元符号被make 用于它自己的变量扩展(例如$(ALLSPKR)$(DATASET))。那些变量在命令运行前被展开,双美元符号在命令运行时变成单美元符号,所以shell看到mkdir -p mgc/${spkr}

如果您真的需要 Makefile 中的 shell 脚本中的 PID,您将拥有 $$$$

【讨论】:

    【解决方案2】:

    它只是一个在 Makefile 中使用的 shell 变量

    Using Variables in Recipes

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 2018-11-24
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多