【问题标题】:How to `chmod -R +w` with Ant, files and folders?如何使用 Ant、文件和文件夹 `chmod -R +w`?
【发布时间】:2011-03-15 14:05:30
【问题描述】:

我想在 Ant 构建脚本中执行与 chmod -R +w foo/ 等效的操作。

到目前为止,我正在使用这个:

<chmod perm="g+w">
   <dirset dir="${basedir}/foo">
   </dirset>
   <fileset dir="${basedir}/foo">
   </fileset>
</chmod>

有没有一种更简洁的方法来编写它以包含文件文件夹递归

【问题讨论】:

  • 该死,你是对的。我删除了我的答案并进一步调查......
  • 解决方案:&lt;chmod file="${basedir}/foo/**" perm="g+w" type="both"/&gt;,我让你发;)
  • 好吧,我回来的时候也是一样的解决方案。感谢您让我发布它:)

标签: linux ant recursion chmod


【解决方案1】:

以下确实有效:

<chmod file="${basedir}/foo/**" perm="g+w" type="both"/>

与 OP 共享的学分。

另见

【讨论】:

  • @Wernight:type="both" 必须与file= 一起使用。但关键确实是**的使用。
【解决方案2】:

到 chmod 可以使用 exec:

<exec executable="chmod" dir="${basedir}/foo" failonerror="true">
    <arg line="-R 0755 ." />
</exec>

Credits

【讨论】:

  • 只有当系统作为chmod 工具时才有效,即在 *nix 上不太可能在 Windows 上。
【解决方案3】:

这是 gradle 版本:

task fixPermissions << {
    ant.chmod(dir:"$rootDir/foo", perm:"g+w", includes:"**/*")
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-05
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    相关资源
    最近更新 更多