我正在创建一个RPM。但是RPM的内容需要安装在不同的地方。在%build
内,我应该运行一个循环来从XML文件中获取所有位置。这是我的片段:
%build
for j in ${!files[*]}
do
mkdir -p ${fileLocations[j]}
done
%install
for i in ${!files[*]}
do
cp -rfR $SOURCE/${fileNames[i]} ${fileLocations[i]}
done
似乎变量循环字符设置为1。如何实现这一目标?
答案 0 :(得分:0)
似乎files
是一个bash变量,必须在每个不同的阶段(%build
,%install
等)重新初始化。其中每个实际上都成为执行的临时脚本。
对于%files
节,您不再是shell,但可以将它们写入文件并使用-f
选项读入。无论如何,这可能是让他们进入其他节的更好方法。