[转载]linux – bash / Makefile中双符号的意思是什么?

作者 by adtxl / 2021-08-05 / 暂无评论 / 499 个足迹

在Makefile中插入一个 shell脚本时,我们有时使用一个双重美元符号($$)来引用变量.为什么?

for number in 1 2 3 4 ; do \
    echo $$number ; \
done

根据 gnu make official doc:

Variable and function references in recipes have identical Syntax and
semantics to references elsewhere in the makefile. They also have the
same quoting rules: if you want a dollar sign to appear in your
recipe,you must double it (‘$$’). For shells like the default shell,
that use dollar signs to introduce variables,it’s important to keep
clear in your mind whether the variable you want to reference is a
make variable (use a single dollar sign) or a shell variable (use two
dollar signs).

简而言之:

makefile variable =>使用一个美元符号
shell variable =>使用两个美元的标志

参考:
1.linux – bash / Makefile中双符号的意思是什么?

独特见解