当我运行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
如果其任何子命令失败,有什么办法可以使其失败吗?
答案1
这就是 find 的局限性,参考标准: http://pubs.opengroup.org/onlinepubs/009695399/utilities/find.html
除非遍历目录时发生错误,否则它将返回 0。
改用 xargs。