0

我可能遗漏了一些东西,但是 bash 脚本中的这个 oneliner 可以循环浏览一些从不同来源转储数据的脚本:

find . -name 'dump-*.sh' -exec {} "$DUMP_LOG" &>>"$DUMP_LOG" \;

当我直接执行包含此 oneliner 的 bash 脚本时将起作用,但当我在 rsnapshot 中将它作为 cmd_preexec 调用时它不起作用。它不会产生任何错误,它只是不做任何事情。

我尝试添加'(/bin/)bash -c',如下所示:

find . -name 'dump-*.sh' -exec bash -c '{} "$DUMP_LOG" &>>"$DUMP_LOG"' \;

但随后我得到一个关于 '(/bin/)bash 不存在的错误,即使我直接运行脚本。

4

1 回答 1

1

好吧,我傻了。当然 find-cmd 的第一个参数需要工作目录。

find /usr/local/sbin -name 'dump-*.sh' -exec {} "$DUMP_LOG" &>>"$DUMP_LOG" \;

已经解决了这个问题。

于 2014-08-25T06:34:55.027 回答