Есть ли способ написать findтак, чтобы он сломался, если одна из -execопераций не выполняется для файла?
Например ( javacудобно использовать в качестве программы, которая может возвращать код выхода 1 для некоторых файлов и ни по какой другой причине):
$ echo "public classXX A{}" >> A.java
$ echo "public class B{}" >> B.java
$ find . -iname \*.java -exec javac {} \;
./A.java:1: error: class, interface, or enum expected
public classXX A{}
^
1 error
В приведенном выше примере, хотя завершение работы execнад файлом A.java(и возвращение кода выхода равным 1), findкоманда продолжила и скомпилировал файл B.java. Есть ли способ вырваться findили я должен использовать какую-то форму forвместо?
Моя версия найти:
$ find -version | head -1
find (GNU findutils) 4.4.2
$0?