有没有一种方法可以写成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版本:
$ find -version | head -1
find (GNU findutils) 4.4.2
$0
办?