当前位置: 技术问答>linux和unix
Makefile中$$macro是如何理解?
来源: 互联网 发布时间:2016-12-20
本文导语: ABC = $A $B $C A = "Hello World!" B = "IAMB" C = "IAMC" for f in $(ABC) do echo $$f done 输出结果为: Hello World! IAMB IAMC 请问这里的 $$ 是什么意思? 参考 info make 中的说明,说是 $$ 会被单个字符的 $ 覆盖。 将...
ABC = $A $B $C
A = "Hello World!"
B = "IAMB"
C = "IAMC"
for f in $(ABC)
do
echo $$f
done
输出结果为:
Hello World!
IAMB
IAMC
请问这里的 $$ 是什么意思?
参考 info make 中的说明,说是 $$ 会被单个字符的 $ 覆盖。
将 $$f 换成 $f 其他不变,输出结果为3个空白行(只输出了3个换行符)。
将 $(ABC) 换成 $$ABC 或是 $${ABC} 其他不变,其结果是什么也没有输出。
我一直无法理解 $$ 有什么作用。
应该如何理解 Makefile 中的 $$ ?
A = "Hello World!"
B = "IAMB"
C = "IAMC"
for f in $(ABC)
do
echo $$f
done
输出结果为:
Hello World!
IAMB
IAMC
请问这里的 $$ 是什么意思?
参考 info make 中的说明,说是 $$ 会被单个字符的 $ 覆盖。
将 $$f 换成 $f 其他不变,输出结果为3个空白行(只输出了3个换行符)。
将 $(ABC) 换成 $$ABC 或是 $${ABC} 其他不变,其结果是什么也没有输出。
我一直无法理解 $$ 有什么作用。
应该如何理解 Makefile 中的 $$ ?
|
当命令或者文件名中需要使用$的时候需要$$
|
$是特殊符号,是用来引用变量的,$$是对$的转义最终结果相当于 $