आप बैश के मौजूदा इतिहास और इतिहास खोज सुविधाओं को जोड़ सकते हैं। Ctrl-Rवृद्धिशील रिवर्स खोज शुरू करने के लिए दबाएं , फिर सबसे अनोखा होने के लिए पथ के हिस्से को टाइप करना शुरू करें।
जब तक आप cdउस निर्देशिका से जुड़े सबसे हाल के कमांड पर वापस टाइप नहीं करते, तब तक आप टाइपिंग पत्र रख सकते हैं , या आप Ctrl-Rइतिहास में वापस कूदने के लिए फिर से दबा सकते हैं कि आपने अब तक क्या टाइप किया है।
मेरे द्वारा हमेशा ऐसा ही किया जाता है।
दरअसल, मैं इसे एक कदम आगे ले जाता हूं। एक बार जब मैं इतिहास में रखने के लिए आदेशों के अनुक्रमों की खोज शुरू कर देता हूं, लेकिन एक शेल स्क्रिप्ट के लिए प्रतिबद्ध नहीं है, तो मैं उन्हें &&और संयोजनकर्ताओं के साथ पीछा करना शुरू ;कर देता हूं ताकि मैं उस एक लंबे कमांड के विकल्प की खोज कर सकूं Enterऔर पूरे अनुक्रम को चला सकूं एक बार।
उदाहरण के लिए, यहां मैं विकास के दौरान अपने एक कार्यक्रम का निर्माण और संचालन कर रहा हूं:
$ ( cd .. ; make install ) && ./start_my_program
मैं इसे स्थापित निर्देशिका से करता हूं, जो शीर्ष-स्तरीय स्रोत निर्देशिका के नीचे है। cdएक उप-शेल में भाग को लपेटने , बनाने और स्थापित करने से, मैं यह सुनिश्चित करता हूं कि इस प्रक्रिया के दौरान कोई फर्क नहीं पड़ता, मैं अपने सामान्य शेल में वापस बदल देता हूं, जिसमें कुछ भी नहीं बदला है। केवल तभी जो सफल होता है (और&) क्या मैं बनाया और स्थापित प्रोग्राम शुरू करता हूं। मैं इसे अपने इतिहास में सिर्फ एक Ctrl-Rसमय के साथ पा सकता हूं sta, यह सब होने के नाते मुझे आमतौर पर विशिष्ट रूप से इस कमांड अनुक्रम को खोजने की आवश्यकता है।
मैं इसका उपयोग कैसे करता हूं इसका एक और उदाहरण यही क्रम है जो इसी कार्यक्रम के लिए आरपीएम के निर्माण में जाता है। अधिकांश थकाऊ काम शेल स्क्रिप्ट्स में हैं, लेकिन अभी भी कुछ कमांड हैं जिन्हें मुझे सामान्य रूप से निर्मित RPMs के निर्माण और तैनाती के सभी काम करने के लिए टाइप करना होगा, जिसे अब मुझे शायद ही दोबारा टाइप करना पड़े, क्योंकि बैश रहता है यह मेरे लिए इतिहास में है।
के साथ इस सब कम्बाइन export HISTSIZE=bignumऔर shopt histappendऔर तुम सिर्फ एक हाथी का आदेश स्मृति का निर्माण किया है।
एक अन्य समाधान मैं एक बार ऊपर कोडित में है मेरा उत्तर करने के लिए एक और सवाल यहाँ । इसे आपके उद्देश्यों के लिए अनुकूलित किया जा सकता है, और यह केवल cdकमांड को संभालता है , जबकि इतिहास खोज विकल्प हर जगह और हर कमांड के लिए काम करता है।