找 。-exec echo {} \; = 缺少`-exec'的参数

Pas*_*nus 5 bash find

为什么这不起作用?(回声不是真正的命令)

$ find . -type d -exec echo {} \;
find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)

无论如何,我设法这样做:

$ for f in `find . -type d`; do echo $f; done
Run Code Online (Sandbox Code Playgroud)

小智 6

这对我有用。

find . -type f -exec file '{}' \;
Run Code Online (Sandbox Code Playgroud)

大括号用单引号括起来,以防止它们被解释为 shell 脚本标点符号。


djh*_*987 0

以下行来自 的示例部分man find

find . -type f -exec file '{}' \;
Run Code Online (Sandbox Code Playgroud)

在我看来,该{}部分需要用单引号引起来。

  • 在 POSIX sh 风格的 shell 中不需要引用 `{}`。 (6认同)