कई इतिहास कमांडों को फिर से चलाएं


22

कल्पना कीजिए कि आपने सिर्फ एक दर्जन कमांड चलाए हैं। कहते हैं ...

$ cd foo/    # history cmd #10000 (my history is very long)
$ ... more commands ...
$ cd ../     # history cmd #10012 

मुझे पता है कि मैं उन्हें फिर से चला सकता हूं !-12 && !-11 && !-10 && (and so on) && !!अगर उनके साथ ऐसा होता है कि वे बस चलाए जा रहे हैं (संभावना नहीं है) !10000 && !10001 && !10002 && (and so on), लेकिन क्या धमाके और ampersands के साथ प्रत्येक इतिहास संख्या को हाथ से टाइप करने की तुलना में एक सरल तरीका है?

क्या शायद किसी तरह की रेंज चीज़ है जो मैं बैश में अनजान हूँ?

जैसे !{10000-10012}# कुछ इस तरह से, केवल काम करना।

जवाबों:


23

यह वही है जो fcकमांड के लिए है।

fc -12 -1

या

fc 10000 10012

यह बिल्कुल नहीं है कि आप क्या चाहते हैं क्योंकि यह पहले एक संपादक को लॉन्च करेगा, लेकिन यह शायद एक अच्छी बात है क्योंकि यह आपको दोहरी जांच का मौका देता है कि आपके पास सही कमांड हैं और यहां तक ​​कि अपने पसंदीदा संपादक की सभी क्षमताओं का उपयोग करके उन्हें संपादित करें। एक बार जब आप परिवर्तन सहेज लेते हैं और संपादक से बाहर निकल जाते हैं, तो कमांड चलाए जाएंगे।


आह हा! प्रतिभाशाली! fc। कमानों को ठीक करें। समझ में आता है!
inanutshellus

1
(! खतरनाक) एक संपादक की शुरूआत बचने के लिए आप उपयोग कर सकते हैंfc -e true -12 -1
BingsF

ubuntu में उपलब्ध नहीं
okwap

1
@okwap, बकवास। यह POSIX निर्दिष्ट है और निश्चित रूप से उबंटू में उपलब्ध है। (यह एक शेल बिल्ट-इन है, हालांकि-जैसा कि यह होना चाहिए — इसलिए यदि आप देख रहे हैं तो आपको /binयह नहीं मिलेगा।)
वाइल्डकार्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.