ऐतिहासिक STTYआदेश पर कुछ नोट्स अन्य उत्तर और संबंधित टिप्पणियों में कुछ अशुद्धियों को स्पष्ट करने के लिए :
इससे पहले DEC VT05 या VT50 और इससे पहले के टेलीप्रिंटर्स जैसे टर्मिनलों ने केवल ऊपरी मामले वर्णों का समर्थन किया था। इसका मतलब यह है कि कोई भी निचला मामला चरित्र उनसे इनपुट नहीं हो सकता है या वे ऊपरी मामले की तुलना में किसी अन्य पत्र को प्रदर्शित करने में सक्षम नहीं होंगे।
यूनिक्स केस संवेदनशील होने और अधिकांश कमांड लोअर केस होने के कारण, आप देख सकते हैं कि वहाँ एक मुद्दा है। यही कारण है कि उन लोगों को संभालने के लिए विशेष टर्मियो / टर्मिनस मोड्स हैं (और अभी भी आधुनिक यूनीसेज़ में हैं।
termio / termios क्रमशः पुराने और नए इंटरफेस हैं, जो यूनिक्स पर ट्टी ड्राइवर को नियंत्रित करने के लिए हैं। एक शब्दावली मेंioctl , आप इनपुट, आउटपुट, कंट्रोल फ्लैग को निर्दिष्ट करते हैं ... यह निर्दिष्ट करते हैं कि एक सीरियल लाइन पर इलेक्ट्रिक सिग्नल को इनपुट और आउटपुट कैरेक्टर में कैसे संभाला जाना है और ड्राइवर के आंतरिक व्यवहार जैसे कि इको, लाइन एडिटर ... उनमें से अधिकांश आधुनिक यूनिक्स वीजीए कंसोल या छद्म टर्मिनलों जैसे आभासी टर्मिनलों पर लागू होते हैं।
कमांड लाइन इंटरफ़ेस termio(s)हैstty आदेश।
ऊपरी-मामले टर्मिनलों को संभालने के लिए, तीन termio(s)झंडे शामिल हैं:
IUCLC(इनपुट अपर केस टू लोअर केस): इनपुट के समय आने वाले वर्ण निचले मामले में परिवर्तित हो जाते हैं। इसका मतलब Aहै कि टर्मिनल द्वारा भेजा गया एक माना जाता है a। इसका मतलब है कि यह है कि इस पर साथ, मैं अब टाइप कर सकते हैं LSमेरी VT50 पर, और खोल पढ़ा जाएगा lsसे /dev/ttyX। मैं अब sttyकमांड भी चला सकता हूं ।
- अब,
IUCLCअकेले और टर्मिनल के साथ echo, जबकि मैं टाइप करता हूं LS, तो चालक lsटर्मिनल पर वापस भेज देगा (इसलिए मैं देख सकता हूं कि मैं क्या टाइप करता हूं) जिसे वह प्रदर्शित नहीं कर सकता है, इसलिए हमें भी आवश्यकता हैOLCUC (आउटपुट लोअर केस टू अपर केस) की आवश्यकता है, हमें टर्मिनल पर भेजने से पहले किसी भी निचले मामले के पत्र को अपरकेस में बदलने की आवश्यकता है।
- अब, हम यूनिक्स को VT50 से संचालित कर सकते हैं, लेकिन क्या होगा अगर हम ऊपरी केस के पात्रों को इनपुट करना चाहते हैं? यही कारण है कि
xcase स्थानीय ध्वज अंदर आता है। यह अनुमति देता है (केवल विहित इनपुट मोड में) Aटाइप करके एक ऊपरी मामला भेज रहा है \A, और आउटपुट पर, एक ऊपरी मामले के Aरूप में प्रस्तुत किया गया है \A। (यह एक लिनक्स पर लागू नहीं है)
sttyआदेश इसी है iuclc, olcucऔर xcase: सेटिंग्स और सभी तीन के लिए उपनाम lcase। डिफ़ॉल्ट सेटिंग और उसके बाद आपको क्या मिलता stty saneहै lcase।
इसलिए, जब आप वीटी 50 पर होते हैं, तो आपको बस इतना करना होता है:
stty lcase
कुछ भी करने में सक्षम होने के लिए। लेकिन पकड़ो, तुम कैसे करते हो जब तुम केवल बड़े अक्षर भेज सकते हो? यहीं आपको STTYएक उपनाम के रूप में एक कमांड की आवश्यकता होती है stty, और यही कारण sttyहै LCASEकि इसके लिए एक उपनाम के रूप में समर्थन करता हैlcase ।
ऐसा कोई SANEअन्य उपनाम नहीं है क्योंकि आप ऐसा नहीं करना चाहते हैंstty sane तब जब आपका टर्मिनल ऑल-अपरकेस हो।
यदि आप एक सामान्य टर्मिनल पर stty lcaseया stty olcucगलती से चलाते हैं (इसे xtermया किसी भी आधुनिक टर्मिनल में देखें), तो वहीं आपको stty saneसामान्य स्थिति में आने के लिए प्रवेश करना होगा। लेकिन उसके लिए आपको STTYकमांड की जरूरत नहीं है। आप लिखते हैं, तो stty sane, आप होगा देखें STTY SANEवापस गूँजती है, लेकिन यह केवल प्रदर्शित पाठ (नहीं दर्ज की गई कमांड) कि अनुवाद किया गया है जाएगा, यह अभी भीstty sane आदेश है कि चलाया जाएगा।
उन iuclc, olcuc, xcaseझंडे POSIX द्वारा निर्दिष्ट किया जाता था (और है कि शायद कारण है कि यह लिनक्स पर कार्यान्वित किया जाता है है, भले ही मैं गंभीरता से शक किसी को भी कभी भी एक Linux सिस्टम के लिए उन पुराने टर्मिनल (मनोरंजन के लिए के अलावा अन्य) के किसी भी जुड़ा हुआ है), लेकिन में हटा दिया गया है POSIX: 2001।