Yêu cầu trợ giúp - trong ngữ cảnh shell script trên bash GNU / LINUX:
Tôi luôn luôn sử dụng set -e. Thông thường, tôi muốn grepvà không phải lúc nào cũng muốn tập lệnh chấm dứt thực thi nếu không tìm thấy greptrạng thái thoát của 1mẫu biểu thị.
Đôi khi tôi đã cố gắng giải quyết vấn đề này như sau:
(Thử I)
Nếu set +o pipefailvà gọi grep bằng một cái gì đó như thế grep 'p' | wc -lthì tôi sẽ có hành vi mong muốn cho đến khi một người bảo trì trong tương lai kích hoạt pipefail. Ngoài ra, tôi thích kích hoạt pipefailđể điều này không làm việc cho tôi.
(Thử II)
Sử dụng một sedhoặc awkvà chỉ in các dòng khớp với mẫu, sau đó wccác dòng khớp để kiểm tra mẫu phù hợp. Tôi không thích tùy chọn này vì sử dụng sedđể grepcó vẻ như một cách giải quyết cho vấn đề thật sự của tôi.
(Thử III)
Cái này là thứ tôi thích nhất - đại loại như:set +e; grep 'p'; set-e
Bất kỳ cái nhìn sâu sắc / thành ngữ sẽ được đánh giá cao nhất - cảm ơn bạn.