nit*_*inj 1 linux specifications rpm rpmbuild rpm-spec
在安装软件包之前,我必须执行一些必要的步骤,例如备份以前的数据存储快照。为此,我使用 %pre 脚本,如下所示。
%pre
#!/bin/sh
--------
--------
stamp=`date +%Y%m%d%H%M%S`
echo ${stamp}
-------------
-------------
Run Code Online (Sandbox Code Playgroud)
输出如下: 20161103123325OURCE 它正在打印一些随机字符和日期。“OURCE”不存在于我的规范文件中的任何位置。
相同的脚本可以完美地独立运行。平台是CentOS7。
rpmbuild 知道一整套宏。显然某个宏定义为:
%S = %SOURCE
Run Code Online (Sandbox Code Playgroud)
我没有找到告诉 rpmbuild 不要扩展该宏的东西;但有一种方法可以欺骗他不这样做。我知道这是一个小解决方法,但这是我能想到的最好的方法:
stamp=$(date '+%Y%m%d%H%M%''S')
Run Code Online (Sandbox Code Playgroud)
$()引号