कमांड प्रॉम्प्ट में (arg: n) का क्या अर्थ है?


10

Codecademy के पर कमांड लाइन कोर्स , जब कुंजीपटल शॉर्टकट का उपयोग करने की कोशिश कर Alt+Shift+#कमांड प्रॉम्प्ट में (जो वर्तमान पंक्ति टिप्पणी करने के लिए माना जाता है), यह से शीघ्र स्विच $करने के लिए (arg: 3)पंक्ति के आरंभ में एक पानी का छींटा जोड़ने के बजाय। इसके बजाय Alt+Shift+@यह प्रदर्शित करेगा (arg: 2), आदि नीचे दी गई स्क्रीनशॉट में अंतिम पंक्ति देखें। हिट होने से पहले मैं Alt+Shift+#बस था $

स्क्रीनशॉट

शॉर्टकट मेरी मशीन पर ठीक काम करता है।

  1. यह क्या (arg: n)चीज है?
  2. कीबोर्ड शॉर्टकट काम करने के लिए किस पर निर्भर करते हैं? कीबोर्ड लेआउट? ओएस डिस्ट्रो? टर्मिनल एमुलेटर? डिफ़ॉल्ट CLI? क्या?

जवाबों:


15

जब आप एक संख्यात्मक तर्क इनपुट कर रहे हों तो यह रीडलाइन लाइब्रेरी का संकेत है। AltShift@अपने कीबोर्ड पर टाइप करके , आप स्पष्ट रूप से Alt2उन मानचित्रों में प्रवेश कर रहे हैं M-2, जो डिफ़ॉल्ट रूप से रीडलाइनdigit-argument में चलते हैं , और एक संख्यात्मक तर्क दर्ज करना शुरू करते हैं। यदि आप दबाते हैं Alt3( AltShift#आपके मामले में नक्शे कौन से हैं) तो आप शीघ्र परिवर्तन देखेंगे (arg: 23); आप किसी भी Alt-digit संयोजन के साथ जारी रख सकते हैं ।

इन तर्कों का उपयोग कुछ पठनीय कार्यों के लिए किया जाता है, उदाहरण के लिए yank-nth-arg। इस क्रिया को देखने के लिए, दौड़ें

echo Hello my friend

तो प्रेस Alt2द्वारा पीछा किया CtrlAltY; आपको (arg: 2)प्रॉम्प्ट दिखाई देगा, फिर गायब हो जाएगा, और पिछले कमांड का दूसरा तर्क ("मेरा") आपकी वर्तमान कमांड लाइन में जोड़ा जाएगा।

विवरण के लिए ऊपर दिए गए लिंक किए गए दस्तावेज़ देखें। बैश अपने इनपुट को संभालने के लिए रीडलाइन का उपयोग करता है; अन्य गोले समान व्यवहार नहीं दिखाएंगे।

कुछ टर्मिनल एमुलेटर अपने स्वयं के उद्देश्यों के लिए इनमें से कुछ प्रमुख संयोजनों का उपयोग करते हैं; उदाहरण के लिए GNOME टर्मिनल, Alt-digit स्विच n वें टैब पर। रीडलाइन फ़ंक्शन का उपयोग करने के लिए आपको इन संयोजनों को अक्षम करना होगा।

आपके मामले में, कोडेक अकादमी वेब-आधारित टर्मिनल एमुलेटर AltShiftसंयोजन को बहुत अच्छी तरह से संभाल नहीं करता है । यदि आपको संख्यात्मक तर्क शॉर्टकट की आवश्यकता नहीं है, तो आप उन्हें चलाकर पुन: पेश कर सकते हैं

bind Meta-3:insert-comment

सिद्धांत रूप में आपको इसे जोड़कर स्थायी रूप से संग्रहीत करने में सक्षम होना चाहिए

Meta-3: insert-comment

एक ~/.inputrcफाइल करने के लिए, लेकिन मुझे वह कोडकडेमी पर काम करने के लिए नहीं मिला।


1
धन्यवाद। वर्तमान कमांड लाइन पर टिप्पणी करने के लिए मैं कैसे पठन को अक्षम करता हूं या अन्यथा केवल एक कीबोर्ड शॉर्टकट का उपयोग करता हूं?
user331380

आप किस टर्मिनल एमुलेटर का उपयोग कर रहे हैं?
स्टीफन किट

मैं यह जानना चाहता हूं कि कोडेक अकादमी में यह कैसे करना है, मेरे पास राइट-क्लिक करने और पता लगाने का कोई तरीका नहीं है। ps -o 'cmd=' -p $(ps -o 'ppid=' -p $$)आउटपुट /usr/local/bin/ein -service-port 4006 -http-port 4007। क्या यह मदद करता है?
user331380

1
@ user331380 संभवत: आप bashवहां Codeacademy पर शेल का उपयोग कर रहे हैं । इंटरेक्टिव शेल में, आप एक नया उदाहरण शुरू कर सकते हैं bash --noediting। यह रीडलाइन को अक्षम कर देगा, लेकिन ध्यान रखें कि readlineलाइब्रेरी बहुत सारी लाइन संपादन सुविधाओं के लिए ज़िम्मेदार है, जो शेल के इंटरएक्टिव उपयोग को थोड़ा अधिक असहज बना सकती है
सर्जियो कोलोडियाज़नी

यह उल्लेखनीय है कि यह vi-keybindings पर भी होता है, जब आप केवल सामान्य-मोड में संख्या टाइप करते हैं, तो अगले सामान्य-मोड कमांड के लिए संख्यात्मक तर्क का प्रतिनिधित्व करने के लिए।
जोएल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.