Có cách nào để viết một find
cái để nó bị hỏng nếu một trong các -exec
thao tác không thành công trên một tệp không?
Ví dụ: ( javac
được sử dụng thuận tiện như một chương trình có thể trả về mã thoát 1 trên một số tệp và không vì lý do nào khác):
$ 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
Trong ví dụ trên, mặc dù exec
trên tệp A.java
không thành công (và trả về mã thoát là 1), find
lệnh cũng được tiến hành và biên dịch tệp B.java
. Có cách nào để thoát ra find
hay tôi nên sử dụng một số hình thức for
thay thế?
Phiên bản tìm kiếm của tôi:
$ find -version | head -1
find (GNU findutils) 4.4.2
$0
?