ant之如何删除带有符号链接(symbolic link)的目录,而不删除它们的目标

me-sa 阅读:94 2025-04-02 23:11:03 评论:0

我正在运行如下 Ant 命令:

<delete dir="/some/folder/path/"/> 

文件夹/path/包含一些文件、文件夹和一些符号链接(symbolic link)。文件和文件夹已删除,但命令尝试删除 target给出错误的符号链接(symbolic link)的目录。

当我运行 <delete> 时,我不想删除目标目录,只删除符号链接(symbolic link)。父文件夹 ( /path/ ) 上的命令。

请您参考如下方法:

我找到了 this bugreport

一个解决方案是使用文件集。

<delete> 
  <fileset dir="/some/folder/path/" followsymlinks="false"/> 
</delete> 

编辑:不过,上面的内容并没有删除符号链接(symbolic link)。以下删除文件夹中的所有符号链接(symbolic link)。我找到了 here

<exec output="/path/to/symlink/list" executable="/usr/bin/find"> 
    <arg value="/some/folder/path/"/> 
    <arg value="-type"/> 
    <arg value="l"/> 
</exec> 
 
<fileset id="victims" dir="/some/folder/path/"> 
    <includesfile name="/path/to/symlink/list> 
</fileset>  

在此之后使用 delete dir 应该是安全的。


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号