在为Centos6.6构build定制USB安装程序(不容易)时,我发现如果 kickstart文件的%post部分有反引号
这工作
%pre --log=/root/postLog.log echo "This is the post" ls %end
这不起作用
%pre --log=/root/postLog.log echo "This is the post" echo `ls` %end
这也是行不通的
%pre --log=/root/postLog.log echo "This is the post" echo $(ls) %end
为什么? 我在%post中需要做很多事情,而不是使用命令replace/ back tick支持将会使得更加困难。
任何解决方法?
编辑:为什么我需要反引号?
安装程序适用于设备产品,因此需要安装基本操作系统,自定义操作系统rpms和产品rpms。
所以在%post部分,像这样的模式是非常普遍的:
cd $ApplicationPackageDir RPMLIST=`ls *.rpm` RPMCOUNT=`ls *.rpm | /usr/bin/wc -l` for theRpm in $RPMLIST do echo /bin/rpm --quiet --upgrade --nodeps --force $theRpm done
类似的模式一般地做一些与任何文件存在于一个特定的目录。
如果anaconda barf在文件中有倒退,整个概念不起作用。
此外,反向是一个有效的bash操作符 – kickstart似乎有麻烦。
bash是否应该在kickstart中起作用?
编辑二:添加$(ls)为例