Sau khi nhập set -e
vào một bash shell tương tác, bash sẽ thoát ngay lập tức nếu bất kỳ lệnh nào thoát ra khác không. Làm thế nào tôi có thể hoàn tác hiệu ứng này?
Sau khi nhập set -e
vào một bash shell tương tác, bash sẽ thoát ngay lập tức nếu bất kỳ lệnh nào thoát ra khác không. Làm thế nào tôi có thể hoàn tác hiệu ứng này?
Câu trả lời:
Với set +e
. Vâng, lạc hậu là bạn kích hoạt tùy chọn shell set -
và vô hiệu hóa chúng với set +
. Nho khô lịch sử, donchanow.
+
giống như -
nhưng vượt qua một cái gì đó có nghĩa là "không" như trong "".
Nó có thể không được sử dụng set +e
/ set -e
mỗi lần bạn muốn ghi đè lên nó. Tôi tìm thấy một giải pháp đơn giản hơn.
Thay vì làm như thế này:
set +e
command_that_might_fail_but_we_want_to_ignore_it
set -e
bạn có thể làm như thế này:
command_that_might_fail_but_we_want_to_ignore_it || true
hoặc, nếu bạn muốn lưu tổ hợp phím và đừng bận tâm đến một chút khó hiểu:
command_that_might_fail_but_we_want_to_ignore_it || :
Hi vọng điêu nay co ich!
:
và tìm thấy câu trả lời của tôi ở đây , trong trường hợp bất kỳ ai khác tò mò.