我在父目录中有几个子目录需要使用我的cookbook删除,但是我需要保留许多其他子目录。是否有一种编程方式我可以实现删除某些子目录,或者我是否必须手动指定我希望删除的每个子目录;
directory "/var/lib/foo" do
action :delete
end
答案 0 :(得分:1)
您可以使用正则表达式指定所需的模式,并删除与该模式匹配的所有(子)目录。
类似的东西:
Dir
有关如何使用 if (null != sessionFactory) {
Session s = currentSession.get();
if ((null == s) || !s.isOpen()) {
s = sessionFactory.openSession();
currentSession.set(s);
} else {
try {
HibernateWork hibernateWork = new HibernateWork("SELECT 1 FROM DUAL");
s.doWork(hibernateWork);
} catch (Exception e) {
s = sessionFactory.openSession();
currentSession.set(s);
}
}
return s;
}
匹配所需文件的详细信息,请参阅look-around。
Ruby docs on Dir也可能有用。
答案 1 :(得分:0)
这完全取决于你如何决定要保留什么和摆脱什么。假设你有一个要删除的目录列表....
%w(/this/path /this/otherpath /this/one/too).each do |dir|
file ::File.expand_path(dir) do
action :delete
end
end
或
parent = '/some/long/path'
%w(child other/child and/this/one) do |child|
file ::File.join(parent, child) do
action :delete
end
end