Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

Linux की .inputrc फ़ाइल में कस्टम मैक्रोज़ और फ़ंक्शन कीबाइंडिंग बनाएं

रीडलाइन आपको अपने होम डायरेक्टरी में .inputrc कॉन्फ़िगरेशन फ़ाइल को संपादित करके अपने स्वयं के कस्टम कीबाइंडिंग मैप करने की क्षमता भी प्रदान करता है।

निम्नलिखित दो प्रकार के कस्टम कीबाइंडिंग हैं जिन्हें आप परिभाषित कर सकते हैं:

  1. मैक्रोज़
  2. फ़ंक्शन

मैक्रोज़

आप एक कीबाइंडिंग परिभाषित कर सकते हैं जो निष्पादित होने पर, कर्सर की वर्तमान स्थिति पर वर्णों की एक स्ट्रिंग भर देगा। ऐसा करने के लिए अपनी .inputrc कॉन्फ़िग फ़ाइल में निम्न प्रारूप के साथ एक लाइन जोड़ें (या फ़ाइल बनाएं यदि यह अभी तक मौजूद नहीं है):

<कुंजी संयोजन>: "<वर्णों की स्ट्रिंग>"

उदाहरण के लिए, मान लें कि मैं खुद को बार-बार आउटपुट को फ़ाइल "~/debug_output.txt" पर रीडायरेक्ट करता हुआ पाता हूं। मैं अपनी .inputrc में निम्न लाइन जोड़कर एक मैक्रो परिभाषित कर सकता हूं:

Control-g: " > ~/debug_output.txt"

अब, जब भी मैं कुंजी संयोजन Control-g टाइप करता हूं, रीडायरेक्ट स्टेटमेंट मेरे कर्सर के बाद जोड़ दिया जाएगा, जिससे मुझे इसे अन्य कमांड के अंत में आसानी से जोड़ने की अनुमति मिलती है।

मैक्रोज़ बनाते समय निम्नलिखित बातों को ध्यान में रखें:

  • मैं कुंजी संयोजनों को अंग्रेजी में लिख सकता हूं (अधिक जानकारी के लिए, bash के मैन पेज देखें। "रीडलाइन कुंजी बाइंडिंग" अनुभाग खोजें)
  • मैक्रो द्वारा डाली जाने वाली वर्णों का अनुक्रम डबल कोट्स (") में लपेटा जाना चाहिए
  • Control-g का चुनाव मनमाना था, आप एक ऐसा संयोजन चुन सकते हैं जो आपके लिए अधिक सार्थक हो
  • डिफ़ॉल्ट कीबाइंडिंग को ओवरराइड करना संभव है (इसे ध्यान में रखें जब आप अपना खुद का परिभाषित करें)
  • कीबाइंडिंग के प्रभावी होने के लिए, आपको एक नया शेल इंस्टेंस शुरू करना होगा (.inputrc कॉन्फ़िग फ़ाइल शेल स्टार्टअप पर पढ़ी जाती है)

फ़ंक्शन

आप एक कीबाइंडिंग भी बना सकते हैं जो निष्पादित होने पर, एक फ़ंक्शन को कॉल करेगा। रीडलाइन चुनने के लिए बड़ी संख्या में पूर्व-परिभाषित फ़ंक्शन प्रदान करता है। एक कुंजी संयोजन को पूर्व-परिभाषित फ़ंक्शन पर मैप करने के लिए:

<कुंजी संयोजन>: <फ़ंक्शन-नाम>

उपलब्ध पूर्व-परिभाषित फ़ंक्शन की सूची के लिए, GNU रीडलाइन मैनुअल देखें।

अपने स्वयं के कस्टम फ़ंक्शन को परिभाषित करना भी संभव है, लेकिन इसके लिए उन्हें C में लिखने की आवश्यकता होती है और यह इस ट्यूटोरियल के दायरे से बाहर है। हम इसे बाद में एक अलग ट्यूटोरियल के रूप में कवर कर सकते हैं।

एक उपयोगी पूर्व-परिभाषित फ़ंक्शन menu-complete है। यह एक वैकल्पिक ऑटो-कम्पलीशन व्यवहार प्रदान करता है।

ऑटो-कम्पलीशन के लिए डिफ़ॉल्ट व्यवहार (TAB कुंजी पर मैप किया गया) है:

  • आंशिक कमांड/डायरेक्टरी/फाइलनाम को भरें यदि एक ही मैच मौजूद है
  • जब 1 से अधिक मौजूद हों तो संभावित मैचों की सूची प्रदर्शित करें

menu-complete इसके बजाय संभावित मैचों की सूची के माध्यम से साइकिल चलाएगा, हर बार फ़ंक्शन कॉल होने पर अगला संभावित मैच भर देगा। यह व्यवहार अच्छा हो सकता है, खासकर लंबे फ़ाइलनामों को ऑटो-कम्प्लीट करते समय। TAB कुंजी को इस व्यवहार का उपयोग करने के लिए रीमैप करने के लिए, अपनी .inputrc फ़ाइल में निम्न लाइन जोड़ें।

TAB: menu-complete

ध्यान दें कि यह नया कीबाइंडिंग वर्तमान शेल में प्रभावी नहीं होगा, आपको .inputrc कॉन्फ़िगरेशन फ़ाइल को रीलोड करने के लिए एक नया इंस्टेंस शुरू करना होगा।

इस ट्यूटोरियल में हमने सीखा कि लिनक्स कमांड लाइन कीबाइंडिंग्स रीडलाइन नामक टूल द्वारा संचालित होती हैं। एक कीबाइंडिंग 2 प्रकार की हो सकती है:

  • मैक्रो: वर्णों के अनुक्रम का विस्तार करता है
  • फ़ंक्शन: एक क्रिया करता है

रीडलाइन हमें डिफ़ॉल्ट कीबाइंडिंग्स का एक सेट प्रदान करता है, लेकिन .inputrc कॉन्फ़िगरेशन फ़ाइल में अपना खुद का बनाने के लिए लचीलापन भी प्रदान करता है। अंत में, सभी वर्तमान कीबाइंडिंग्स देखने के लिए, हम 'bind' कमांड का उपयोग कर सकते हैं।

bind -p
  1. Linux में Hosts फ़ाइल का उपयोग और संपादन कैसे करें Linux में Hosts फ़ाइल का उपयोग और संपादन कैसे करें

    यदि आपने कभी Linux मशीन से कई सर्वर प्रबंधित किए हैं या किसी प्रकार की होम लैब सेट अप की है, तो आप जानते हैं कि Linux में hosts फ़ाइल कितनी उपयोगी हो सकती है। हालांकि, आप में से कुछ को यह भी नहीं पता होगा कि यह मौजूद है, इसका उपयोग कैसे करना है तो दूर की बात है। इसलिए हम आपको Linux में hosts फ़ाइल क

  1. लिनक्स उपयोगकर्ता पासवर्ड को कैसे संग्रहीत और प्रबंधित करता है लिनक्स उपयोगकर्ता पासवर्ड को कैसे संग्रहीत और प्रबंधित करता है

    क्या आपने कभी सोचा है कि लिनक्स मल्टी-यूज़र वातावरण को कुशलतापूर्वक कैसे प्रबंधित करता है? इस लेख में हम बताते हैं कि लिनक्स उपयोगकर्ता पासवर्ड और लॉगिन को कैसे संग्रहीत और प्रबंधित करता है। /etc/passwd फ़ाइल की खोज जब कोई उपयोगकर्ता उपयोगकर्ता नाम और पासवर्ड दर्ज करता है, तो लिनक्स दर्ज पासवर्ड की

  1. डॉटफाइल्स में महारत: Mac और Linux पर कस्टम कॉन्फ़िगरेशन बनाएं और प्रबंधित करें डॉटफाइल्स में महारत: Mac और Linux पर कस्टम कॉन्फ़िगरेशन बनाएं और प्रबंधित करें

    डॉटफाइल्स महत्वपूर्ण फाइलें हैं जो एक सॉफ्टवेयर डेवलपर के रूप में आपके करियर में अभिन्न भूमिका निभाएंगी। सबसे पहले, वे आपको अधिक उत्पादक बनाने में मदद कर सकती हैं। लेकिन इतना ही नहीं - आप अपने लिए बनाए गए उस उत्पादक सेटअप को किसी भी मशीन पर उपयोग कर सकेंगे। यह लेख डॉटफाइल्स के साथ शुरुआत करने का एक