जवाबों:
आप बिल्ट कमांड का उपयोग कर सकते हैं, bindएक कीबोर्ड शॉर्टकट को मैप करने के लिए ताकि यह एक कमांड / शेल स्क्रिप्ट निष्पादित करे।
कहते हैं कि हम कमांड चलाना चाहते हैं pwd, जब हम F12कुंजी दबाते हैं।
$ bind '"\e[24~":"pwd\n"'
अब जब मैं F12अपने संकेत पर प्रेस $:
$ pwd
/home/saml
आप दिए गए कीबोर्ड शॉर्टकट के लिए एस्केप कोड निर्धारित करने के लिए निम्न तकनीक का उपयोग कर सकते हैं। अधिकांश सिस्टम पर Ctrl+ V, रिलीज़ को दबाएं और फिर उस कुंजी को दबाएं जिसके लिए आपको कोड चाहिए। Mइसके बजाय इसके साथ काम करने वाले कुछ अन्य सिस्टम हैंV
दबाने Ctrl+ के Vबाद दोनों Ctrlको मुक्त करें Vऔर अंत F12में एक टर्मिनल विंडो में दबाएं यह रिटर्न:
$ ^[[24~
इस आउटपुट की व्याख्या इस प्रकार की जा सकती ^[है, Escकुंजी है। तो जब हम का उपयोग कर इस विशेष कुंजी निर्दिष्ट करना चाहते हैं bindकमांड हम एक उपयोग करने की आवश्यकता \eनिरूपित करने के लिए Escकुंजी ऊपर से सब कुछ होता है। तो bindकमांड इस तरह दिखता है:
$ bind '"\e[24~":"....."'
आप bind -xसेटअप कीबोर्ड शॉर्टकट का उपयोग भी कर सकते हैं , जो प्रॉम्प्ट पर कुछ टाइप करने के बीच में होने पर कमांड चलाएंगे, और ये कमांड का आउटपुट प्रदर्शित होगा, लेकिन कभी आप जो प्रॉम्प्ट पर टाइप कर रहे थे वह बरकरार रहेगा।
$ bind -x '"\eW":"..."'
नोट: यह विधि केवल कीबोर्ड शॉर्टकट के साथ काम करती है जो 1 वर्ण का उत्पादन करती है, इसलिए F12यहां काम नहीं करेगा।
आइए उर्फ कीबोर्ड शॉर्टकट Alt+ Shift+ W।
$ bind -x '"\eW":"who"'
कहो मैं कमांड टाइप कर रहा हूं finger:
$ finger
अब मैं कीबोर्ड शॉर्टकट मारा Alt+ Shift+ W:
saml tty1 2013-09-01 11:01 (:0)
saml pts/0 2013-09-01 11:03 (:0.0)
saml pts/1 2013-09-01 11:05 (:0.0)
saml pts/2 2013-09-01 11:05 (:0.0)
saml pts/5 2013-09-03 22:45 (:0.0)
$ finger
जो bindचल रहा है वह परिभाषित कमांड को चला रहा है who, इसका आउटपुट ले रहा है और इसे प्रॉम्प्ट के सामने सम्मिलित कर रहा है। यदि आप इसे दोहराते हैं तो आप देखेंगे कि यहाँ क्या हो रहा है, यहाँ से इसका आउटपुट 2 बार हिट हो रहा है:
saml tty1 2013-09-01 11:01 (:0)
saml pts/0 2013-09-01 11:03 (:0.0)
saml pts/1 2013-09-01 11:05 (:0.0)
saml pts/2 2013-09-01 11:05 (:0.0)
saml pts/5 2013-09-03 22:45 (:0.0)
saml tty1 2013-09-01 11:01 (:0)
saml pts/0 2013-09-01 11:03 (:0.0)
saml pts/1 2013-09-01 11:05 (:0.0)
saml pts/2 2013-09-01 11:05 (:0.0)
saml pts/5 2013-09-03 22:45 (:0.0)
$ finger
तो एक विचार यह होगा कि bind -xउपरोक्त विधि का उपयोग करें और catअपने प्रॉम्प्ट पर इस पाठ फ़ाइल को प्रदर्शित करें:
$ bind -x '"\eW":"cat someinfo.txt"'
अब जब मैं कमांड चलाता हूं तो मैं इस फाइल को देख सकता हूं:
This is text from some
multi-line file reminding
me how to do some
stuff
$ finger
फ़ाइल someinfo.txtका आउटपुट मेरे fingerकमांड के ऊपर प्रदर्शित किया जा रहा है।
echo ' (सिंगल-कोट के बाद स्पेस), फिर Ctrl + v दबाएं, फिर जो कुंजी आप चाहते हैं, और फिर स्पेस, सिंगल-कोट ... जैसा कि यहां वर्णित है । उदहारण:echo ' ^[OD '
bind '"\e[24~":"airmon-ng start wlan0\n"'लेकिन जब मैंने टर्मिनल को बंद कर दिया, तो चीज़ रीसेट हो गई और सभी हॉटकी निकल गए