Ở đây nó cho thấy sử dụng ||
và &&
trong một dòng duy nhất để ghép nối việc thực thi các lệnh: Làm cách nào tôi có thể kiểm tra lỗi apt-get trong tập lệnh bash?
Tôi đang cố gắng dừng thực thi tập lệnh nếu một điều kiện nào đó không thành công,
ví dụ
false || echo "Obvious error because its false on left" && exit
Ở đây nó in Obvious error because its false on the left
và thoát khỏi giao diện điều khiển đó là những gì tôi muốn.
true || echo "This shouldn't print" && exit
Ở đây, không có in echo nhưng exit
lệnh cũng chạy, tức là giao diện điều khiển bị đóng, không nên exit
lệnh không chạy vì lệnh echo bên phải không được thực thi? Hoặc theo mặc định là một tuyên bố được coi là sai ở phía bên trái của một &&
toán tử?
Chỉnh sửa: Đáng lẽ tôi nên đề cập đến nó trước đây, mục đích của tôi là lặp lại lỗi và thoát nếu nó không rõ ràng. viết cho trường hợp cụ thể của tôi về việc bắt lỗi khi nhóm các điều kiện bằng cách sử dụng && và ||, @ bodhi.zazen trả lời giải quyết vấn đề.
@takatakatek trả lời làm cho rõ ràng hơn về kiểm soát dòng chảy và các liên kết hướng dẫn bash là tuyệt vời
Câu trả lời @muru có lời giải thích tốt về lý do tại sao không sử dụng set -e nếu bạn muốn gửi thông báo lỗi tùy chỉnh với các lựa chọn thay thế sử dụng perl và bẫy mà tôi nghĩ là một cách mạnh mẽ hơn và xem bản thân sử dụng nó từ tập lệnh bash thứ hai trở đi!