Когда я запускаю 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
потерпеть неудачу, если какая-либо из его подкоманд не удалась?
Это ограничение поиска. См. Стандарт: http://pubs.opengroup.org/onlinepubs/009695399/utilities/find.html
Он вернет 0, если при просмотре каталогов не произошла ошибка.
Вместо этого используйте xargs.