संपादित करें: आप इसे POSIX- अनुरूप फैशन में फिक्स कमांड टूल केfc साथ कर सकते हैं :
fc 77 79
यह आपके संपादक (शायद vi) को बफ़र में 79 के माध्यम से 77 के साथ खोल देगा । जब आप सहेजते हैं और बाहर निकलते हैं ( :x), कमांड चलाए जाएंगे।
यदि आप उन्हें संपादित नहीं करना चाहते हैं और आपको पता चल रहा है कि आपको पता है कि आप किस आदेश पर कॉल कर रहे हैं, तो आप इसका उपयोग कर सकते हैं:
fc -e true 77 79
यह trueकमांड्स को संपादित करने के लिए एक "एडिटर" के रूप में उपयोग करता है , इसलिए यह बिना कोई बदलाव किए ही बाहर निकल जाता है और कमांड्स को जैसे-तैसे चलाया जाता है।
मूल ANSWER:
आप उपयोग कर सकते हैं:
history -p \!{77..79} | bash
यह मानता है कि आप किसी भी उपनाम या फ़ंक्शन या किसी भी चर का उपयोग नहीं कर रहे हैं जो केवल वर्तमान निष्पादन वातावरण में मौजूद हैं, निश्चित रूप से वे नए शेल में उपलब्ध नहीं होंगे।
एक बेहतर समाधान (टिप्पणी में मुझे याद दिलाने के लिए माइकल हॉफमैन के लिए धन्यवाद) है:
eval "$(history -p \!{77..79})"
बहुत कम मामलों में से एक, जहां evalवास्तव में उपयुक्त है!
और देखें:
!77 ; !78 ; !79ठीक?