यदि तुम करो:
stty eol =
और फिर अपने EDIT में सुझाए गए डेमो को चलाएं , आपको परीक्षा के प्रिंटआउट में फू बार दिखाई देगा । टर्मिनल की लाइन का अनुशासन अपने आउटपुट को उसके पाठक तक पहुंचाएगा क्योंकि यह आपके इनपुट में प्रत्येक विशेष ईओएल चार्ट को पढ़ता है ।
लिनक्स कैनोनिकल-मोड टर्मिनल - जैसा कि stty icanonया शायद अभी stty sane- अभी कॉन्फ़िगर किया जा सकता है, निम्नलिखित विशेष इनपुट वर्णों को संभालता है ...
- EOF
- चूक:
^D
- एक इनपुट लाइन को समाप्त करता है और आउटपुट को रीडर में फ्लश करता है। क्योंकि यह इनपुट से निकाल दिया जाता है, अगर यह एक लाइन पर ही चरित्र के रूप में इनपुट है, यह पारित हो जाता है के रूप में एक अशक्त पढ़ा - या फ़ाइल के अंत - पाठक के लिए।
- EOL
- डिफ़ॉल्ट: असम्बद्ध
- इसके अलावा एक इनपुट लाइन को समाप्त करता है, लेकिन इनपुट से हटाया नहीं जाता है।
- मार
- चूक:
^U
- सभी बफ़र्ड इनपुट मिटाता है।
- मिटा
- डिफ़ॉल्ट:
^H (या संभवतः @या ^?कुछ सिस्टम पर)
- अंतिम बफर इनपुट चरित्र मिटाता है।
जब iexten भी सेट किया जाता है - जैसे stty icanon iexten, या फिर, शायद stty sane, बस , एक कैनोनिकल लिनक्स टर्मिनल भी संभाल लेगा ...
- eol2
- डिफ़ॉल्ट: अप्रकाशित
- इसके अलावा एक इनपुट लाइन भी समाप्त करता है, और इनपुट से भी हटाया नहीं जाता है।
- werase
- चूक:
^W
- अंतिम बफर इनपुट शब्द मिटाता है ।
- rprnt
- चूक:
^R
- सभी बफ़र किए गए इनपुट को पुन: छापते हैं।
- lnext
- चूक:
^V
- किसी विशेष महत्व को दूर करता है, जहां तक इनपुट इनपुट के तुरंत बाद लाइन-डिसिप्लिन का संबंध है।
छोड़कर - ये अक्षर उन्हें इनपुट स्ट्रीम से निकाल कर नियंत्रित किया जाता है EOL और eol2 , यह है कि - और पाठक को संसाधित धारा पार करने से पहले जुड़े विशेष कार्य प्रदर्शन - जो आम तौर पर अपने खोल है, लेकिन हो सकता है जो कुछ भी अग्रभूमि प्रक्रिया समूह है ।
अन्य विशेष इनपुट वर्ण जो इसी तरह नियंत्रित किया जाता है, लेकिन किसी भी की स्वतंत्र रूप से विन्यस्त किया जा सकता icanon सेटिंग शामिल isig सेट - की तरह सेट किया stty isigहै और शायद यह भी एक में शामिल समझदार विन्यास:
- छोड़ना
- चूक:
^\
- सभी बफ़र्ड इनपुट को फ्लश करता है (यदि नोफ़लश सेट नहीं है) और SIGQUIT को अग्रभूमि प्रक्रिया-समूह में भेजता है - संभवतः एक कोर-डंप उत्पन्न करता है।
- susp
- चूक:
^Z
- सभी बफ़र्ड इनपुट को फ्लश करता है (यदि noflsh सेट नहीं है) और SIGTSTP को अग्रभूमि प्रक्रिया-समूह में भेजता है। निलंबित प्रक्रिया-समूह की संभावना या तो की साथ फिर से शुरू किया जा सकता है
kill -CONT "$!"या सिर्फ fgएक में ( set -m) काम नियंत्रित खोल।
- विस्मयबोधक
- चूक:
^C
- सभी बफर इनपुट को फ्लश करता है (यदि नोफ्लश सेट नहीं है) और SIGINT को अग्रभूमि प्रक्रिया-समूह में भेजता है।
और iXon सेट - तरह से कॉन्फ़िगर किया गया stty ixonहै और यह भी आम तौर पर एक में शामिल समझदार config:
- रुकें
- चूक:
^S
- पाठक के लिए सभी आउटपुट बंद कर देता है जब तक या तो शुरू इनपुट में पढ़ा जाता है या - जब ixany भी सेट होता है - कम से कम एक और चरित्र पढ़ा जाता है।
- प्रारंभ
- चूक:
^Q
- यदि यह पहले से रोक के साथ बंद कर दिया गया है तो आउटपुट को पुनरारंभ करता है ।
- संसाधित होने पर इनपुट से स्टॉप और स्टार्ट दोनों को हटा दिया जाता है, लेकिन अगर ixany सेट होने पर इनपुट में किसी भी वर्ण के कारण आउटपुट को पुनरारंभ किया जाता है, तो उस चरित्र को हटाया नहीं जाता है।
अन्य गैर-लिनक्स प्रणालियों पर संभाले गए विशेष वर्णों में शामिल हो सकते हैं ...
- लालिमा
- चूक:
^O
- बफरिंग इनपुट के त्यागने और फ्लशिंग को टॉगल करता है और इनपुट से हटा दिया जाता है।
- dsusp
- डिफ़ॉल्ट: अप्रकाशित
- सभी बफ़र किए गए इनपुट को फ़्लश करता है केवल जब पाठक निर्दिष्ट विशेष इनपुट चरित्र को पढ़ता है तो SIGTSTP भेजता है।
और संभवतः...
- swtch
- डिफ़ॉल्ट
^@ (अर्थ \0या NUL)
- अग्रभूमि खोल-परतों को स्विच करता है। कुछ सिस्टम पर
shl शेल-लेयर एप्लिकेशन के साथ उपयोग के लिए ।
- एक कार्यान्वयन
shlजिसमें मल्टीप्लेक्स ptys और इसलिए मूल कार्यान्वयन के swtch निर्भर व्यवहार के बजाय नौकरी-नियंत्रण के साथ संगत है, heirloom-toolchestउपकरण सूट में स्वतंत्र रूप से हो सकता है ।
कैसे और क्यों (और शायद क्यों नहीं) की एक स्पष्ट तस्वीर के लिए इन इनपुट फ़ंक्शंस को संभाला जाता है man 3 termios।
उपरोक्त सभी कार्यों को सौंपा जा सकता है (या पुन: असाइन किया गया ) - जब लागू हो - जैसे sttyfunction assigned-key। किसी भी फ़ंक्शन को अक्षम करने के लिए । वैकल्पिक रूप से, सभी GNU, AST, या हिरलूम के कार्यान्वयन के साथ उल्लिखित लाइन-संपादन कार्यों में से किसी के लिए असाइनमेंट के साथ विभिन्न प्रयासों को इंगित करने के लिए प्रतीत होता है, आप किसी भी फ़ंक्शन के लिए NUL असाइनमेंट के रूप में इसे मेरे लिनक्स पर अनसैन्ड करने के लिए सेट करने के लिए लगता है प्रणाली।sttyfunction^-sttysttyfunction^@
संभवतः आप इन वर्णों की एक प्रतिध्वनि देखते हैं, जब आप उन्हें टाइप करते हैं (जैसा कि संभवत: कॉन्फ़िगर किया जा सकता है w / [-] ctlecho ) , लेकिन यह केवल आपको दिखाने के लिए एक मार्कर है जहां आपने किया था - आपके इनपुट प्राप्त करने वाले कार्यक्रम में कोई धारणा नहीं है कि आप उन्हें टाइप किया गया ( eol [2] , जो छोड़कर ) और आपके इनपुट की केवल एक प्रति प्राप्त करता है जिसके लिए लाइन अनुशासन ने उनके प्रभाव को लागू किया है।
विभिन्न लाइन-एडिटिंग फ़ंक्शंस के टर्मिनल से निपटने का एक परिणाम यह है कि आपको यह इंगित करने वाले फ़ंक्शंस पर कार्य करने के लिए इनपुट को कुछ हद तक बफर की आवश्यकता होती है, यह होना चाहिए - और इसलिए इनपुट की एक असीम आपूर्ति नहीं हो सकती है आप किसी भी समय मार सकते हैं । लाइन बफर अधिक सटीक है मार बफर।
आप सेट करते हैं EOL या eol2 भले ही न एक नई पंक्ति या रिटर्न चरित्र, उदाहरण के लिए - - तो आप केवल करने के लिए सक्षम हो जाएगा कुछ सीमांकक जो इनपुट में होता है करने के लिए पात्रों को मारने के बिंदु तक कि यह पिछले हुई और आपकी मारने बफर जब तक इनमें से अगली तक यह विस्तार नहीं होगा - या एक नई लाइन (या वापसी अगर icrnl सेट है और इग्नोर नहीं है) - इनपुट में होती है।