2010-08-13 34 views

Trả lời

364

Có lẽ bạn muốn set -e:

http://www.davidpashley.com/articles/writing-robust-shell-scripts.html#id2382181

này cho bash rằng nó nên thoát khỏi kịch bản nếu bất kỳ tuyên bố trả về một giá trị trả về không đúng. Lợi ích của việc sử dụng -e là nó ngăn ngừa lỗi trượt tuyết vào các vấn đề nghiêm trọng khi chúng có thể bị bắt trước đó. Một lần nữa, để dễ đọc, bạn có thể muốn sử dụng set -o errexit.

+62

Nhận thức được 'set -e' gotchas: http://mywiki.wooledge.org/BashFAQ/105 – Kris

+1

@Kris Cảm ơn, bit này tôi trên bạc hà Linux. nó âm thầm thoát khỏi kịch bản mà không có thông điệp. vì vậy tôi đã xóa việc sử dụng thiết lập. –

+0

@LukeW điều này là bình thường. Tuy nhiên, mã thoát sẽ không khác, cho biết lỗi. Ngoài ra, bất kỳ chương trình nào không tự in thông báo lỗi, hãy thử chỉ với shebang + 'set -e' + e.g. 'ls nope'. Bạn nhận được một thông báo lỗi rõ ràng và các tập lệnh không thành công sớm. Phần mềm tuyệt vời. – vidstige

Các vấn đề liên quan