$$ {var}是什么意思?

时间:2015-07-07 11:52:50

标签: bash for-loop makefile pid

以下代码中$${spkr}的含义是什么?来自Makefile?

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

2 个答案:

答案 0 :(得分:3)

这意味着您正在阅读嵌入在Makefile中的shell脚本。 make使用美元符号表示其自身的变量展开(例如$(ALLSPKR)$(DATASET))。这些变量在命令运行之前被扩展,并且当命令运行时,加倍的美元符号变成单个美元符号,因此shell看到mkdir -p mgc/${spkr}

如果您真的需要在Makefile中的shell脚本中使用PID,那么您有$$$$

答案 1 :(得分:2)

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

Using Variables in Recipes