सवाल उबंटू टर्मिनल "\" चरित्र क्यों स्वीकार नहीं करेगा?


मुझे अपना टर्मिनल खोल स्वीकार करने के लिए नहीं मिल सकता है \ जब मैं इसे टाइप करता हूं। कुछ भी नहीं होता है। मैंने गुगल किया है लेकिन ऐसा कुछ भी नहीं देखा है जो इसे संबोधित करता है। मुझे नहीं पता कि मैं शूट करने में परेशानी कब शुरू करूंगा।

संपादित करें:

मैं ग्रहण में, किसी भी टेक्स्ट एडिटर (नैनो या अन्य कमांड लाइन टूल्स सहित) का उपयोग कर सकता हूं। प्रश्न में सटीक कमांड है:

find -type f -exec chmod -x {} \;    

अगर मैं उस पंक्ति को कॉपी और पेस्ट करता हूं, तो \ चरित्र गायब हो जाता है। यदि मैं कोशिश करता हूं और इसे टाइप करता हूं, तो कुछ भी नहीं होता है।

एकमात्र जगह यह एक समस्या है वह वास्तविक शेल कमांड लाइन int है।

धन्यवाद।

दो संपादित करें:

कुछ भ्रम लगता है। अगर मैं उपरोक्त आदेश को मेरी कमांड लाइन पर कॉपी करता हूं, प्रेसिंग एंटर के बिना (आईई निष्पादित नहीं करता) यह मेरे खोल में है:

$find -type f -exec chmod -x {} ;    

अगर मैं कोशिश करता हूं और एक दर्ज करता हूं \ बचने के लिए ; प्रतीक प्रकट नहीं होता है। अगर मैं किसी भी समय एंटर दबाता हूं, जबकि उपरोक्त परिस्थितियों में यह आदेश दर्ज किया गया है, तो यह निष्पादित करने में विफल रहता है; आदेश में पारित नहीं किया जा रहा है।

संपादित करें 3:

मैं उबंटू 12.04 एलटीएस पर गनोम 3.4.1.1 का उपयोग कर रहा हूं


4
2017-09-09 16:51


मूल


किसी भी पाठ संपादक के बारे में क्या? क्या यह ठीक काम करता है ..? - Saurav Kumar
उबंटू से पूछने के लिए आपका स्वागत है! आपके द्वारा वास्तव में क्या मतलब है "टर्मिनल को स्वीकार नहीं किया जा सकता \"? "कुछ नहीं होता" से आपका क्या मतलब है? आप जिस आदेश को करने की कोशिश कर रहे हैं वह वास्तव में क्या है? - Alaa Ali
क्या आप कह रहे हैं कि जब आप \ key दबाते हैं तो यह चरित्र में प्रवेश नहीं करता है? या कुछ और? क्या अन्य विंडोज़ कुंजीपटल स्वीकार करते हैं और \ key दिखाते हैं? अन्य कार्यक्रम करो? - Thomas Ward♦
Thans, संपादन देखें। - user2757729
अभी व! यह कुछ समझ में आता है .. :) - Saurav Kumar


जवाब:


एक संभावना यह है कि बैकस्लैश कुंजी कुछ रीडलाइन कमांड के लिए बाध्य हो गई है (readline वह लाइब्रेरी है जो शैल कमांड के सीटू संपादन को अनुमति देती है, उदाहरण के लिए बाध्यकारी Ctrl+ को backward-delete-char कार्रवाई)।

यह जांचने के लिए कि क्या यह मामला हो सकता है, आप रीडलाइन संपादन अक्षम के साथ एक बैश सबहेल शुरू करने का प्रयास कर सकते हैं

bash --noediting

यदि बैकस्लैश कुंजी उस सबहेल में काम करती है, तो नकली कीबाइंडिंग परिभाषा को देखने के लिए स्थान होंगे /etc/inputrc वैश्विक विन्यास के लिए और ~/.inputrc प्रति उपयोगकर्ता विन्यास के लिए। आप कमांड लाइन से वर्तमान में परिभाषित कीबाइंडिंग को प्रिंट करने और खोजने का भी प्रयास कर सकते हैं

bind -P | grep '\\\\'

अतिरिक्त बैकस्लाश की आवश्यकता होती है क्योंकि रीडलाइन कॉन्फ़िगरेशन में एक शाब्दिक बैकस्लैश दिखाई देगा \\, जिनमें से प्रत्येक को खोल में आगे बचने की जरूरत है। स्पष्ट रूप से आप केवल उस सबस्कूल में ही कर सकते हैं, यदि बैकस्लैश नियमित शेल में बाध्य हो रहा है।

एफवाईआई एक है bind बाध्यकारी को हटाने के लिए कमांड विकल्प, लेकिन यह स्पष्ट नहीं है कि इनपुट कैसे करें keyseq जब यह पहले से ही बंधे हैं तो तर्क

-r  keyseq         Remove the binding for KEYSEQ.

अधिक जानकारी के लिए देखें help bind बैश कमांड लाइन में


3
2017-09-10 00:12





\ जो भी चरित्र इसका अनुसरण करता है उससे बच निकलता है। ; स्पष्ट रूप से एक आदेश समाप्त होता है। \; मतलब से बचें ; और उस आदेश को पास करें जिसे आप अंदर खोज रहे हैं (सब कुछ बाद में -exec। \ अर्धविराम के साथ लागू होता है chmod जबकि बिना अर्धविराम पर लागू होगा find

आपका टर्मिनल पहचानता है \। जब आप इसे अपने टर्मिनल में टाइप करते हैं, तो आप अपने टर्मिनल को अगले चरित्र से बचने के लिए कहते हैं - जिसे आप प्रदान नहीं करते हैं।

यदि आप एक चरित्र के रूप में प्रदर्शित करना चाहते हैं, तो इसे से बचें। प्रकार \\


1
2017-09-09 18:01



क्षमा करें, मुझे नहीं लगता कि आप समझ रहे हैं। ऐसा नहीं है कि मैं आदेश दर्ज कर सकता हूं, और सब कुछ काम करता है। बचने वाला चरित्र इसे टर्मिनल में कभी नहीं बनाता है। संपादन के दूसरे दौर देखें। - user2757729
मुझे माफ करें। क्या आप जीनोम टर्मिनल का उपयोग कर रहे हैं? - Jack
मैं उबंटू 12.04, डिफ़ॉल्ट सामान पर हूं। मुझे लगता है कि जीनोम है? मैं कैसे जांचूँगा - user2757729
मेनू में सहायता -> के बारे में क्लिक करें। - Jack
संपादन 3 के रूप में quesiton के लिए उस विवरण जोड़ा गया। - user2757729


कोई फर्क नहीं पड़ता कि यह आपके मामले में मूल कारण है लेकिन मैं इस आदेश को दर्ज करके एक समान व्यवहार को पुन: उत्पन्न कर सकता हूं:

stty eof \\

इसे सही किया जा सकता है:

stty sane

आप यह देखने के लिए बाद वाले कमांड को आजमा सकते हैं कि यह आपकी समस्या को ठीक करता है या नहीं।


0
2017-09-09 19:34



धन्यवाद, उसने एक शॉट दिया। कोई भाग्य नहीं। - user2757729


मैं "मैकबुक एयर" 2015 पर "समानांतर 11" और वर्चुअल मशीन "उबंटू" के साथ काम कर रहा हूं। मेरा कीबोर्ड "कम" ऐप्पल वायरलेस है। मैंने मेन्यू में कीबार्ड के लिए "फ्रेंच मैकिंतोश" (क्योंकि मैं फ्रेंच हूं ...!) चुना है, लेकिन शुरुआत में उबंटू के टर्मिनल में, मैं "\" और न ही "|" बना सकता था। तो मैं "पैरामेरेस सिस्टेमे", "सैसी डी टेक्सटे" ("टेक्स्ट टाइपिंग"?) पर जाता हूं और विंडो के दाएं कोने में "पैरामेटेरेस डु क्लेवियर" (कीबोर्ड पैरामीटर) बटन पर क्लिक करता हूं। दूसरी नई विंडो में, मैं "सैसी" ("टाइपिंग"?) का चयन करता हूं और फिर लाइन "टॉच डी कैरेक्ट्रेरेस वैकल्पिकता" ("वैकल्पिक वर्ण कुंजी"?); अब उस लाइन के दाहिने सिरे पर क्लिक करना, कई विशेष कुंजी के बीच एक विकल्प बनाना संभव है ... मेरे मामले में, कोई कुंजी प्रारंभ में परिभाषित नहीं की गई थी, और मैक के तहत सामान्य क्रिया को अनुकरण करने के लिए मैंने "Alt Left" चुना है ओएस एक्स व्याख्या करने के लिए लंबा, लेकिन जल्दी और आसान करने के लिए! गाय डे पर्नन


0
2018-02-02 15:24