【问题标题】:Deleting multiple files in a directory using chef ruby使用chef ruby​​删除目录中的多个文件
【发布时间】:2016-12-27 11:23:10
【问题描述】:

我一直在寻找一个厨师 ruby​​ 代码来删除与文件名字符串匹配的目录中的多个文件

假设我的 D 盘是否包含文件名 - eula1.txt, eula2.txt, res1.dll, res2.dll, pvn1.txt, pvn2.txt

在上面的例子中,我需要一个可以包含在食谱中的 chef ruby​​ 代码来删除所有以 eula* 和 res* 开头的文件,即它应该删除目录中的 4 个文件

我的最终输出应该只包含 2 个文件 - 目录中的 pvn1.txt、pvn2.txt。

【问题讨论】:

    标签: ruby chef-infra cookbook


    【解决方案1】:

    最好的办法是使用execute 资源,例如:

    execute 'del eula* res*'
    

    虽然可以通过直接删除文件来执行此操作,但它要复杂得多,并且可能超出您的范围。

    【讨论】:

      【解决方案2】:

      我可以使用“FileUtils”删除符合条件的文件。由于 FileUtils 是纯 ruby​​ 命令,因此我必须将此代码嵌入到我的厨师食谱中的 ruby​​_block 中。

      以下语句对我有用

      ruby_block "Deleting the eula*,install* files...." do    
        block do    
          FileUtils.rm Dir["path/to/folder/eula*","path/to/folder/install*"]    
        end
      end
      

      【讨论】:

        猜你喜欢
        • 2014-06-03
        • 1970-01-01
        • 2016-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-02
        • 1970-01-01
        相关资源
        最近更新 更多