РЕДАКТУВАННЯ: Ви можете зробити це в сумісному з POSIX способом за допомогою інструменту командування fixfc :
fc 77 79
Це відкриє ваш редактор (можливо vi) командами від 77 до 79 у буфері. Коли ви зберігаєте та виходите ( :x), команди будуть виконуватися.
Якщо ви не хочете редагувати їх, і ви ДУЖЕ Впевнені, що знаєте, які команди ви викликаєте, ви можете використовувати:
fc -e true 77 79
Це використовується trueяк "редактор" для редагування команд, тому він просто виходить, не вносячи жодних змін, і команди виконуються як є.
ОРИГІНАЛЬНИЙ ВІДПОВІДЬ:
Ви можете використовувати:
history -p \!{77..79} | bash
Це передбачає, що ви не використовуєте ні псевдоніми, ні функції, ні будь-які змінні, які є лише в поточному середовищі виконання, оскільки, звичайно, вони не будуть доступні в новому запущеному оболонці.
Краще рішення (спасибі Майклу Гофману за те, що він нагадував мене в коментарях):
eval "$(history -p \!{77..79})"
Один з дуже-дуже мало випадків, коли evalнасправді доречно!
Також дивіться:
!77 ; !78 ; !79порядку?