我正在尝试自动svnadmin dump执行备份脚本命令,并且我想执行以下操作:
find /var/svn/* \( ! -name dir -prune \) -type d -exec svnadmin dump {} > {}.svn \;
这似乎可行,因为它可以浏览中的每个svn存储库/var/svn并svnadmin dump在其上运行。
但是,{}exec命令中的第二个不会替换为正在处理的目录的名称。它基本上只会产生一个名为的文件{}.svn。
我怀疑这是因为shell解释>为结束find命令,并且它尝试将stdout从该命令重定向到名为的文件{}.svn。
有任何想法吗?
{}作为参数传递给sh,然后(内sh)指的是其作为"$0"或"$1"左右。