linux shell:在 find -exec 中 find -exec

Fra*_*Fra 3 find

我想chmod 555在我使用以下命令获得的所有文件和目录上执行(它返回目录 test 以及其中的所有文件和目录):

find ~/.config/google-chrome -type d -name test -exec find {} \;
Run Code Online (Sandbox Code Playgroud)

Sté*_*las 6

在这种情况下,您可以chmod -R按照 Evan 的回答使用,但在一般情况下,您可以执行以下操作:

find ~/.config/google-chrome -type d -name test -exec sh -c '
  for i do
    find "$i" -exec chmod 555 {\} +
  done' sh {} +
Run Code Online (Sandbox Code Playgroud)

诀窍是使用外壳并使用引号,这样内部{}就不会被外部扩展find