在 Makefile
中,$
符号用于变量替换,但它的使用方式有一些细微的区别:
$
符号($Xxx
)Makefile
中定义的变量。$
后面可以跟变量名,通常用括号或花括号括起来以明确变量名的边界。 VAR = value
all:
echo $(VAR)
在这个例子中,$(VAR)
会被替换为 value
。
all:
echo \$\$PATH
在这个例子中,$$PATH
会被 make 解析为 $PATH
,从而在 shell 中输出环境变量 PATH 的值。
$Xxx
:用于 Makefile 变量替换。make 会在执行命令之前将其替换为变量的值。\$\$Xxx
:用于传递给 shell 的命令中引用 shell 变量。make 会将 \$\$
转换为 $
,从而在 shell 中使用。假设你有一个 Makefile 如下:
VAR = Hello
all:
# 使用 Makefile 变量
echo \$(VAR)
# 使用 shell 变量
echo \$\$USER
echo $(VAR)
:make 会将 $(VAR)
替换为 Hello
,然后执行 echo Hello
。echo \$\$USER
:make 会将 \$\$USER
转换为 $USER
,然后 shell 会替换 $USER
为当前用户的用户名。$
来引用 Makefile 中的变量。\$\$
来引用 shell 中的变量,以确保在传递给 shell 时保留单个 $
符号。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。