Find

如果 -exec 命令失敗,如何使 find 返回非 0?

  • March 28, 2018

當我使用失敗find的子命令執行命令時,返回退出程式碼:-exec``find``0

$ find . -iname '*.txt' -exec ls foo \;
ls: foo: No such file or directory
ls: foo: No such file or directory
ls: foo: No such file or directory
ls: foo: No such file or directory
ls: foo: No such file or directory
ls: foo: No such file or directory
ls: foo: No such file or directory
$ echo $?
0

如果它的任何子命令失敗,有什麼方法可以find失敗嗎?

這就是 find 的局限性。參考標準: http: //pubs.opengroup.org/onlinepubs/009695399/utilities/find.html

除非在遍歷目錄時發生錯誤,否則它將返回 0。

請改用 xargs。

引用自:https://serverfault.com/questions/905031