6.2. 有关宏的更多内容


本节介绍所选内置 RPM Macros。

6.2.1. 定义您自己的宏

下面的部分论述了如何创建自定义宏。

流程

  • 在 RPM spec 文件中包括以下行:

    %global <name>[(opts)] <body>

删除 <body> 周围的空白。名称可以是字母数字字符,字符 _,长度必须至少为 3 个字符。包含 (opts) 字段是可选的:

  • Simple 宏不包含 (opts) 字段。在这种情况下,只执行递归宏扩展。
  • Parametrized 宏包含 (opts) 字段。在宏调用开始时传递括号之间的 opts 字符串可得到 argc/argv 处理的 getopt(3)
注意

旧的 RPM spec 文件使用 %define <name> <body> 宏模式。%define%global 宏之间的差异如下:

  • %define 是本地范围的。它适用于 spec 文件的特定部分。%define 宏的主体部分在使用时会被扩展。
  • %global 有全局范围。它适用于整个 spec 文件。在定义时扩展 %global 宏的正文。
重要

宏会被评估,即使它们被注释掉了,或 spec 文件的 %changelog 部分中指定了宏的名称。要注释掉宏,请使用 %%。例如 %%global.

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部