หลังจากป้อน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 || :
หวังว่านี่จะช่วยได้!
:และพบคำตอบของฉันที่นี่ในกรณีที่คนอื่นอยากรู้อยากเห็น
- การใช้ + แทน - ทำให้ปิดการตั้งค่าสถานะเหล่านี้