หลังจากป้อนset -e
ในเชลล์ทุบตีแบบโต้ตอบแล้วทุบตีจะออกทันทีถ้าคำสั่งใด ๆ ออกโดยไม่มีศูนย์ ฉันจะยกเลิกผลกระทบนี้ได้อย่างไร
หลังจากป้อนset -e
ในเชลล์ทุบตีแบบโต้ตอบแล้วทุบตีจะออกทันทีถ้าคำสั่งใด ๆ ออกโดยไม่มีศูนย์ ฉันจะยกเลิกผลกระทบนี้ได้อย่างไร
คำตอบ:
set +e
กับ ใช่มันย้อนกลับที่คุณเปิดใช้งานตัวเลือกเปลือกset -
และปิดการใช้งานset +
พวกเขาด้วย ลูกเกดประวัติศาสตร์
+
เป็นเหมือน-
แต่การข้ามผ่านบางสิ่งหมายถึง "ไม่" เหมือนใน "≠"
อาจใช้ไม่ได้set +e
/ set -e
ทุกครั้งที่คุณต้องการแทนที่ ฉันพบทางออกที่ง่ายกว่า
แทนที่จะทำแบบนี้:
set +e
command_that_might_fail_but_we_want_to_ignore_it
set -e
คุณสามารถทำได้เช่นนี้:
command_that_might_fail_but_we_want_to_ignore_it || true
หรือถ้าคุณต้องการบันทึกการกดแป้นและไม่ต้องคิดว่าเป็นความลับเล็ก ๆ น้อย ๆ :
command_that_might_fail_but_we_want_to_ignore_it || :
หวังว่านี่จะช่วยได้!
:
และพบคำตอบของฉันที่นี่ในกรณีที่คนอื่นอยากรู้อยากเห็น
- การใช้ + แทน - ทำให้ปิดการตั้งค่าสถานะเหล่านี้