Dưới đây là ví dụ của tôi cho một "xây dựng hệ thống", mà dừng lại sau khi chạm đầu tiên lỗi biên dịch (dựa trên câu trả lời Kojiro, mà không làm việc exaclty cho tôi):
(Nhu cầu dấu ngoặc đơn thoát là thật, tôi biết điều đó.)
find -name '*.cpp' \(-print -a -exec g++ -c {} \; -o -quit \)
Tôi muốn xây dựng một thư viện tĩnh về cơ bản tất cả các tệp C++ nằm trong thư mục hiện tại và bên dưới.
Trước khi chạy trình biên dịch Tôi muốn có file -print
-ed, sau đó -exec
-ed, nhưng khi nó không thành công (và lá lỗi trên stderr
, nó nên -quit
.
-a
là như &&
và -o
cũng giống như ||
trong vỏ hoặc C.
Nếu không có dấu ngoặc đơn, GNU tìm "tối ưu hóa" truy vấn, bằng cách cố gắng điều kiện có thể xảy ra nhất đầu tiên, đó là - tôi đoán -. -quit
Nguồn
2014-03-05 10:04:07
Liên quan: http://unix.stackexchange.com/questions/62880/how-to-stop-the-find-command-after-first-match – kojiro