我必须创建一个 CFENGINE 3 策略,它应该从定义的输入列表中获取输入,然后想要在该集合上一个一个地执行一些命令。
例如:
对于这里只有一个包,我有一个例子:
bundle agent test_tester_install
{
commands:
"/usr/bin/wget http://something.example.com/perl-modules/Test-Tester-0.104.tar.gz;
/usr/bin/gunzip Test-Tester-0.104.tar.gz;
tar -xf Test-Tester-0.104.tar;
cd Test-Tester-0.104;
/usr/bin/perl Makefile.PL;
/usr/bin/make;
/usr/bin/make install"
contain => standard,
classes => satisfied("Test-Tester Installed");
}
body contain standard
{
useshell => "true";
exec_owner => "root";
}
body classes satisfied(new_class)
{
promise_repaired => { "$(new_class)" };
}
但是如果我想对 100 个包裹做同样的事情,我不确定该怎么做。我认为“slist 会这样做,但我不确定我究竟需要如何起草该政策”
这与在 bash shell 中应用“for”循环非常相似,我们在其中一个一个地迭代输入并执行一些操作
请高手帮忙