如果 find -exec
返回非零,则停止 make
。
在这个问答中,我们讨论了如何在使用 find
命令的 -exec
选项时,如果遇到非零返回值,如何停止 make
命令的执行。这是一个常见的问题,因为在使用 -exec
选项时,如果执行的命令返回非零值,find
命令会继续执行下一个文件,而不会停止。
为了解决这个问题,我们可以使用 find
命令的 -execdir
选项,而不是 -exec
选项。-execdir
选项会在找到的文件所在的目录中执行指定的命令,并在命令返回非零值时停止执行。这样,我们可以确保在遇到错误时,make
命令会停止执行。
例如,如果我们想要在找到的所有文件中执行 make
命令,并在遇到错误时停止执行,我们可以使用以下命令:
find . -type f -name "*.c" -execdir make {} \;
这将在找到的所有 .c
文件所在的目录中执行 make
命令,并在遇到错误时停止执行。
总之,如果 find -exec
返回非零,则停止 make
的最佳方法是使用 find
命令的 -execdir
选项,而不是 -exec
选项。这将确保在遇到错误时,make
命令会停止执行。
领取专属 10元无门槛券
手把手带您无忧上云