कीबाइंडिंग के बिना रीडलाइन फ़ंक्शन निष्पादित करें?


26

मैं सिर्फ रीडलाइन मैन-पेज पढ़ रहा था और मुझे पता नहीं था कि महान आदेशों का एक गुच्छा मिला है। हालाँकि, कई डिफ़ॉल्ट कुंजी बाइंडिंग नहीं है। क्या शेल से अनबाउंड कमांड को निष्पादित करने का एक तरीका है?

मैं यह नहीं पूछ रहा हूं कि ~ / .inputrc में कमांड को कैसे बांधना है, लेकिन इसके बजाय इसे शेल से या बैश स्क्रिप्ट में "एक बंद" के रूप में कैसे निष्पादित किया जाए।

उदाहरण के लिए, "डंप-चर" कमांड। क्या कुछ कमांड है जिसे मैं "डंप-चर" फ़ीड कर सकता हूं एक तर्क के रूप में इसे निष्पादित किया जा सकता है?


2
मुझे नहीं लगता कि रीडलाइन मैनुअल और स्रोत पर एक त्वरित नज़र से है।
पेरिस में जिम पेरिस

जवाबों:


10

मुझे विश्वास है कि आप जो खोज रहे हैं वह bindखुद ही है। man builtinचल रही जानकारी के अनुसार, bind <readline-command>आपको एक-ऑफ़ को चलाने की अनुमति देता है, हालांकि, मुझे यह काम करने के लिए नहीं मिल सकता है जैसे कि मैनुअल को यह कहना चाहिए ... यह चाबियाँ बना रहा है मेरे लिए काम नहीं कर रहा है; आपकी माइलेज भिन्न हो सकती है। मुझे निम्नलिखित कमांड मिलीं जो आपके काम आ सकती हैं।

bind -p # Equivalent to dump-functions [machine readable]
bind -P # Equivalent to dump-functions [human readable]

bind -s # Equivalent to dump-macros    [machine readable]
bind -S # Equivalent to dump-macros    [human readable]

bind -v # Equivalent to dump-variables [machine readable]
bind -V # Equivalent to dump-variables [human readable]

नोट संपादित करें मैं यह इंगित करना चाहूंगा कि यह कितना कष्टप्रद है कि यह काम नहीं करता है जैसे कि मैनुअल यह कहता है क्योंकि यदि आप टाइप करते हैं bindऔर फिर ऑटो-पूर्ण के लिए टैब दबाते हैं, तो यह सभी कमांड दिखाता है।


3
सीधे रीडलाइन फ़ंक्शन को कॉल करना: मुझे नहीं लगता कि मैनुअल वास्तव में दावा करता है कि आप ऐसा कर सकते हैं; यदि आप वाक्यविन्यास फ़ॉर्म का उल्लेख कर रहे हैं bind readline-command: मुझे संदेह है commandकि एक परिभाषा (मैपिंग) लाइन है, न कि सीधे कॉल करने योग्य रीडलाइन फ़ंक्शन । ऑटो-समापन कुछ प्लेटफार्मों पर एक स्पष्ट रूप से पूर्वनिर्मित है (उदाहरण के लिए, फेडोरा 20), लेकिन कई अन्य लोगों पर नहीं ; इसकी उपस्थिति का मतलब यह नहीं है कि आप रीडलाइन फ़ंक्शन को सीधे कॉल कर सकते हैं - यह एक काफी "गूंगा" कमांड-पूर्ण कल्पना है: आपूर्ति किए गए किसी भी तर्क पर पूरा काम करता है bind
22

1
कार्यों के लिए आदेशों के लिए +1 / प्रभाव में मैक्रोज़ / चर; यह शेल कमांड के-X लिए जोड़ने लायक है (द्वारा परिभाषित )। -x
mklement0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.