kịch bản của tôi có như hướng dẫn đầu tiên:Bash: làm thế nào để bẫy -e, nhưng không thoát khỏi
set -e
Vì vậy, bất cứ khi nào một lỗi xảy ra, kịch bản hủy bỏ. Tôi muốn bẫy tình huống này để hiển thị thông báo thông tin, nhưng tôi không muốn hiển thị thông báo đó bất cứ khi nào tập lệnh thoát; CHỈ khi set -e kích hoạt phá thai. Có thể bẫy tình huống này không?
này:
set -e
function mytrap {
echo "Abnormal termination!"
}
trap mytrap EXIT
error
echo "Normal termination"
Được gọi trong lối nào (cho dù là một lỗi xảy ra hay không), mà không phải là những gì tôi muốn.
Gọi hàm ở các điểm thoát bình thường để đặt cờ cho biết chấm dứt thông thường. Giá trị này có thể được kiểm tra bởi hàm bẫy của bạn để phân biệt giữa kết thúc bình thường và bất thường. – codeforester
@codeforester Yepp, tôi đã suy nghĩ về những điều khoản đó. Một chút cồng kềnh mặc dù – dangonfast