शेल टाइपिंग को आसान बनाने के लिए आवेदन?


3

मुझे आश्चर्य है कि अगर linux bash शेल के लिए कोई एप्लिकेशन है तो इसे टाइप करना अधिक आसान है।

उदाहरण के लिए, यदि मैं "c" टाइप करता हूं, तो हो सकता है कि यह मुझे सभी कमांड देगा जो कि "cd", "cp" आदि के लिए उस अक्षर से शुरू होता है, फिर अगर मैं "cd" टाइप करता हूं और स्पेस दबाता हूं तो यह मुझे उस कमांड के सभी पैरामीटर देता है ।

क्या कमांड टाइपिंग को स्वचालित करने के लिए इस तरह का अनुप्रयोग है?

जवाबों:


3

इस तरह की सुविधा पहले से ही बैश में बनाई गई है। "C" टाइप करें और टैब दबाएँ। यदि कुछ नहीं दिखाता है तो इसका कारण यह है कि यह एक और पत्र नहीं जोड़ सकता क्योंकि अधिक विकल्प उपलब्ध हैं। टैब को फिर से दबाएं और यह पूछेगा कि क्या आप उपलब्ध कमांड की सूची चाहते हैं।

यह पैरामीटर के साथ-साथ तब तक काम करता है जब तक कि प्रश्न में पैरामीटर एक फ़ाइल या फ़ोल्डर का नाम है।


यह प्रोग्राम विकल्पों के लिए भी काम करता है, अगर आपके पास बैश-समापन स्थापित है। bash-completion.alioth.debian.org और आप अपनी स्वयं की पूर्णियाँ जोड़ सकते हैं।
— डेनिस विलियमसन

@ डेनिस और @ जोहान-स्कोल। यह काम नहीं करता है। ive ने bash_completion स्थापित किया और ive ने इसे शेल में शुरू किया। लेकिन जब मैं "apt-get up [TAB]" टाइप करता हूं तो मुझे कुछ नहीं मिलता है। और यकीन है कि ive यह शुरू कर दिया।
— ajsie

1
क्या आपने टैब को दो बार दबाया?
— डेनिस विलियमसन

@dennis। मैंने इसे 10 बार =) ubuntu server btw
— ajsie

@ajsie: ये कमांड आपको क्या देते हैं? echo $BASH_VERSIONऔर bind -p | grep completऔरshopt -p progcomp
— डेनिस विलियमसन

1

आप "मेनू-पूर्ण" के लिए पूर्ण प्रकार सेट करना पसंद कर सकते हैं। अपनी ~/.inputrcफ़ाइल में आप एक पंक्ति जोड़ सकते हैं जो कहती है "\C-i": menu-completeया बैश प्रॉम्प्ट पर, दर्ज करें bind '"\C-i":menu-complete', फिर हर बार जब आप टैब दबाते हैं , तो यह आपके संभावित समापन के माध्यम से कदम रखेगा।

संपादित करें:bind कमांड में फिक्स्ड टाइपो ।


मुझे खुद को पूरा करने में कोई समस्या नहीं है। समस्या यह है कि मेरे शुरू किए गए पत्र को पूरा करने के लिए कौन से शब्द हैं। जब मैं टाइप करता हूँ "aptitu" और उसके बाद TAB TAB दबाएं यह मुझे "योग्यता, योग्यता-रन-स्टेट-बंडल और एप्टीट्यूड-क्रिएट-स्टेट-बंडल" देता है। जब मैंने "एप्टीट्यूड" टाइप किया है और उसके बाद TAB TAB दबाएं तो यह मुझे वर्तमान डायरेक्टरी में फाइल देता है। मैं सभी एप्टीट्यूड के मापदंडों को सूचीबद्ध करने में सक्षम होना चाहता हूं: इंस्टॉल, खोज, अपडेट और इसी तरह। क्या यह संभव है?
— अंजी

@ajsie: जब मैं टाइप "aptitu [टैब] [टैब]" यह पूरा करने के लिए "योग्यता", तो मैं [स्पेस] प्रेस [टैब] [टैब] तो यह मेरे की एक सूची देता है aptitudeजैसे आदेश, autoclean, build-dep, changelog, आदि फिर मैं "i [TAB] [TAB]" दबाता हूं और अब मेरे पास है aptitude install।
— डेनिस विलियमसन

@ajsie: हालाँकि , menu-completeमैं, "apti [TAB]" (एक [TAB]) टाइप करता हूं और "aptitude" प्राप्त करता हूं, फिर मैं स्पेस दबाता हूं (अब दो स्थान हैं, एक पूरा होने के बाद प्रदान किया गया था) और [TAB]। अब मैं "एप्टीट्यूड ऑटोकलेन" देखता हूं। फिर हर बार जब मैं [TAB] प्रेस करता हूं तो यह कमांड के माध्यम से साइकिल करता है। यदि अंतरिक्ष के बजाय, मैंने "सी" टाइप किया था, तो [टीएबी] दबाया, यह "चैंजोग" और "क्लीन" के बीच चक्र होगा। (वैसे, मेरे मूल उत्तर में टाइपो के लिए खेद है। मैंने इसे ठीक कर लिया है। शायद मेरी त्रुटि के कारण यह आपके लिए काम नहीं करेगा।)
— डेनिस विलियमसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.