前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Makefile文件中,两个\$的变量变量\$\$Xxx 与一个\$的变量\ $Xxx的区别

Makefile文件中,两个\$的变量变量\$\$Xxx 与一个\$的变量\ $Xxx的区别

原创
作者头像
张飞的猪
发布2024-12-26 17:10:40
发布2024-12-26 17:10:40
630
举报
文章被收录于专栏:技术杂谈技术杂谈

原文地址:Makefile文件中,两个\$的变量变量\$\$Xxx 与一个\$的变量 \$Xxx的区别

Makefile 中的变量引用

Makefile 中,$ 符号用于变量替换,但它的使用方式有一些细微的区别:

单个 $ 符号($Xxx

  • 用途:用于引用 Makefile 中定义的变量。
  • 用法$ 后面可以跟变量名,通常用括号或花括号括起来以明确变量名的边界。
  • 示例
代码语言:makefile
复制
  VAR = value
  all:
      echo $(VAR)

在这个例子中,$(VAR) 会被替换为 value

双 $ 符号(\$\$Xxx)

  • 用途:用于在 Makefile 中传递给 shell 的命令中引用 shell 变量。
  • 用法:\$\$ 会被 make 解析为单个\$,从而在 shell 中使用。
  • 示例
代码语言:makefile
复制
  all:
      echo \$\$PATH

在这个例子中,$$PATH 会被 make 解析为 $PATH,从而在 shell 中输出环境变量 PATH 的值。

具体区别

  • $Xxx:用于 Makefile 变量替换。make 会在执行命令之前将其替换为变量的值。
  • \$\$Xxx:用于传递给 shell 的命令中引用 shell 变量。make 会将 \$\$ 转换为 $,从而在 shell 中使用。

例子

假设你有一个 Makefile 如下:

代码语言: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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Makefile 中的变量引用
    • 单个 $ 符号($Xxx)
    • 双 $ 符号(\$\$Xxx)
    • 具体区别
    • 例子
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档