该代码无法运行的原因是使用了错误的语法。在 -exec 选项中,命令应该作为一个独立的参数提供,而不是作为一个字符串。正确的写法是:/n/nbash/nfind . -name '*.log' -exec echo {} +/n/n/n或者:/n/nbash/nfind . -name '*.log' -exec echo {} ;/n/n/n第一个写法使用 + 作为 -exec 选项的结束符,将匹配到的文件作为参数传递给 echo 命令的一个实例。这样可以批量处理多个文件。/n第二个写法使用 /; 作为 -exec 选项的结束符,将匹配到的每个文件分别传递给 echo 命令的不同实例进行处理。/n/n在正确的写法中,命令应该是一个可执行的命令,而不是一个字符串。在原始代码中,'echo {} +' 是一个字符串,无法被解释为一个可执行的命令,因此导致错误。

find . -name '*.log' -exec 'echo {} +' 错误原因及正确写法

原文地址: https://www.cveoy.top/t/topic/b55J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录