查找语法错误

查找语法错误

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

find /var/www/virtual/gm.com/episodes/htdocs/downloaded/ -type f -iname '*flash*' -exec ln -sf {} /var/www/virtual/gm.com/234/htdocs/

查找:缺少“-exec”参数。尝试“查找-帮助”以获取更多信息。

怎么了?

答案1

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

查找手册页说:

-执行命令;

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

...

这里注意:

直到出现由 ';' 组成的参数遇到。

...

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

...

相关内容