РЕДАКТУВАННЯ: Ви можете зробити це в сумісному з 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
порядку?