Kịch bản này không lặp lại "sau":
#!/bin/bash -e
echo "before"
echo "anything" | grep e # it would if I searched for 'y' instead
echo "after"
exit
Nó cũng sẽ nếu tôi loại bỏ -e
tùy chọn trên dòng shebang, nhưng tôi muốn giữ nó để kịch bản của tôi dừng lại nếu có lỗi. Tôi không coi grep không tìm thấy lỗi nào phù hợp. Làm thế nào tôi có thể ngăn nó thoát ra đột ngột như vậy?
var=$(complex command | grep complex_pattern)
có thể là null (trong trường hợp đó chương trình của tôi không nên chấm dứt). Đây chỉ là một kịch bản được đun sôi khiến vấn đề xảy ra. Không có lỗ đen siêu hình trong logic ở đây, phải không? ;)
-e
giả định bạn quan tâm: rất nhiều đến nỗi mọi vấn đề đều là thảm họa.