1

在 Jenkins 工作中,我有一个构建步骤来执行这样的 shell 命令:

rm -rf /var/www/www.example.com/* 
find . \( -not -path '*/.svn/*' \) -exec cp -rv {} /var/www/www.example.com \;

但是,每次仍然复制这些文件夹中的文件,例如 .../classes/.svn/props。

我检查了 find 命令手册,该命令的格式似乎正确。那么为什么它不起作用呢?另外在末尾加上分号的目的是什么?我从某个地方复制了这个:-)

我花了几个小时在这上面,仍然无法让它工作,太痛苦了。也许使用 rsync 是一个更好的选择。

4

1 回答 1

1

您在 find 命令中忽略了 .svn 目录,但之后您会递归复制目录,因此如果目录包含 .svn 目录,您仍将复制它。(而且你的命令确实执行了很多重复的副本)

除了 svn 文件之外,有很多复制目录的选项 - 在您的情况下,我将从删除 -r 开始。

如果上述方法不起作用谷歌'复制没有svn目录的文件'以获得许多不同的选项。

于 2013-05-01T09:21:58.307 回答