Czy istnieje sposób na napisanie find
tak, aby się zepsuł, jeśli jedna z -exec
operacji zakończy się niepowodzeniem na pliku?
Np. ( javac
Jest dogodnie używany jako program, który może zwrócić kod wyjścia 1 dla niektórych plików i bez innego powodu):
$ 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
W powyższym przykładzie, mimo że exec
plik A.java
nie powiódł się (i zwrócił kod wyjścia 1), find
polecenie kontynuowało i skompilowało plik B.java
. Czy istnieje sposób na ucieczkę, find
czy for
zamiast tego powinienem użyć jakiejś formy ?
Moja wersja find:
$ find -version | head -1
find (GNU findutils) 4.4.2
$0
zrobić?