แก้ไข: คุณสามารถทำได้ใน POSIX- สอดคล้องกับแฟชั่นด้วยเครื่องมือคำสั่งแก้ไขfc
:
fc 77 79
สิ่งนี้จะเปิดตัวแก้ไขของคุณ (อาจvi
) ด้วยคำสั่ง 77 ถึง 79 ในบัฟเฟอร์ เมื่อคุณบันทึกและออก ( :x
) คำสั่งจะถูกเรียกใช้
หากคุณไม่ต้องการที่จะแก้ไขพวกเขาและคุณแน่ใจว่าคุณรู้คำสั่งที่คุณโทรคุณสามารถใช้:
fc -e true 77 79
สิ่งนี้ใช้true
เป็น "ตัวแก้ไข" เพื่อแก้ไขคำสั่งด้วยดังนั้นจึงออกโดยไม่ต้องทำการเปลี่ยนแปลงใด ๆ และคำสั่งจะทำงานตามที่เป็นอยู่
คำตอบเดิม:
คุณสามารถใช้ได้:
history -p \!{77..79} | bash
นี่ถือว่าคุณไม่ได้ใช้นามแฝงหรือฟังก์ชั่นหรือตัวแปรใด ๆ ที่มีอยู่ในสภาพแวดล้อมการดำเนินการปัจจุบันเท่านั้นแน่นอนว่าสิ่งเหล่านั้นจะไม่สามารถใช้ได้ในเชลล์ใหม่ที่กำลังเริ่มต้น
ทางออกที่ดีกว่า (ขอบคุณ Michael Hoffman ที่เตือนฉันในความคิดเห็น) คือ:
eval "$(history -p \!{77..79})"
หนึ่งในกรณีน้อยมากที่eval
เหมาะสมจริงๆ!
ดูเพิ่มเติมที่:
!77 ; !78 ; !79
โอเค?