ใน Bash บางครั้งฉันจะพิมพ์รายการคำสั่งและการเข้าชมEnterและต่อมาก็ตระหนักว่ามีข้อผิดพลาดบางคำสั่งใกล้จะจบรายการ ฉันรู้ว่าถ้าฉันกดCtrl+ Cมันจะยุติคำสั่งที่กำลังทำงานอยู่และยกเลิกรายการที่เหลือ มีวิธีการยกเลิกรายการที่เหลือโดยไม่ยกเลิกคำสั่งที่กำลังทำงานอยู่หรือไม่?
ตัวอย่างเช่นสมมติว่าฉันพิมพ์บางสิ่งบางอย่างเช่น
foo; bar
หรือ
foo && bar
ซึ่งfoo
เป็นคำสั่งที่ใช้เวลานานซึ่งเป็นสิ่งสำคัญมากที่จะไม่ขัดจังหวะและbar
ทำสิ่งที่ไม่สามารถแก้ไขได้และไม่ต้องการ (พูดshutdown -h now
หรือrm -rf /
) ในขณะที่foo
ยังทำงานอยู่มีวิธีทั่วไปในการบอกเชลล์ให้foo
เสร็จ แต่จะไม่ทำงานในbar
ภายหลังหรือไม่? (ใช่ฉันสามารถเปลี่ยนการอนุญาตbar
เพื่อไม่ให้ใช้งานได้ แต่มันไม่สะดวกbar
เป็นพิเศษหากเป็นอย่างrm
ที่ฉันต้องการใช้ในระหว่างนี้และจะไม่ทำงานหากฉันไม่ได้เป็นเจ้าของbar
หรือbar
เป็นบิวอิน)
bar
คำสั่งสุดท้ายเป็นsome_command
:^bar^some_command
ก่อนที่จะดำเนินการ