查找语法错误

Joe*_*hew 1 find

我在运行 find 时遇到错误,如下所示:

find /var/www/virtual/gm.com/episodes/htdocs/downloaded/ -type f -iname '*flash*' -exec ln -sf {} /var/www/virtual/gm.com/234/htdocs/
Run Code Online (Sandbox Code Playgroud)

发现:缺少`-exec'的参数。尝试“查找 --help”以获取更多信息。

怎么了?

Jef*_*ler 8

您缺少尾随分号,它必须从外壳程序中转义,例如:\;';'

发现手册页这样说:

-exec 命令;

执行命令;如果返回 0 状态,则为 true。find 的所有以下参数都被视为命令的参数

...

这里注意:

直到一个由 ';' 组成的参数 遇到了。

...

字符串 '{}' 被当前正在处理的文件名替换,它出现在命令的参数中的任何地方,而不仅仅是在它单独出现的参数中,就像在某些版本的 find 中一样。这两种结构都可能需要转义(使用“\”)或引用以防止它们被 shell 扩展。

...