Назад | Перейти на главную страницу

Как я могу заставить find return не-0, если команда -exec не работает?

Когда я запускаю 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.