【力扣 031】循环语句

 

%if 0%{?fedora} || 0%{?rhel}
   # 如果是 Fedora 或 RHEL 系统,执行这里的内容
%endif

这个语句的意思是:如果当前的构建环境是 Fedora 或 RHEL,那么执行 %if%endif 之间的内容

 

假设你希望在 Fedora 或 RHEL 系统下启用某个特定的构建选项或补丁,您可以这样写:

%if 0%{?fedora} || 0%{?rhel}
   # 只有在 Fedora 或 RHEL 系统上,才执行下面的命令
   %patch0 -p1
%endif

在这个例子中,只有在 Fedora 或 RHEL 系统中,补丁 patch0 才会被应用。

 

 

要判断 CentOS 7 或 CentOS 8 Stream,可以通过检查系统的版本信息或使用特定的宏。CentOS 7 和 CentOS 8 Stream 分别属于不同的发行版,通常可以通过 centosrhel 宏结合版本号来区分。你可以使用如下的条件判断:

%if 0%{?rhel} == 7
   # 如果是 CentOS 7 或 RHEL 7 系统,执行这里的内容
%endif

%if 0%{?rhel} == 8 && 0%{?centos_stream}
   # 如果是 CentOS 8 Stream 或 RHEL 8 Stream,执行这里的内容
%endif

解释:

  • %{?rhel}:检查是否是 RHEL 系统。
  • 0%{?rhel} == 7:检查 RHEL 的版本号是否为 7,适用于 CentOS 7(因为 CentOS 和 RHEL 的版本号相同)。
  • 0%{?rhel} == 8 && 0%{?centos_stream}:检查是否是 CentOS 8 Stream。CentOS 8 Stream 会定义 centos_stream 宏,因此可以用它来做判断。

具体情况:

  1. CentOS 7%{?rhel} == 7 会成立。
  2. CentOS 8 Stream%{?rhel} == 8%{?centos_stream} 会成立。

 

 

posted @ 2022-05-19 21:21  苏格拉底的落泪  阅读(24)  评论(0编辑  收藏  举报