जब आप सादे read
(या read -r
अन्य विकल्पों के साथ पूरी लाइन पढ़ते हैं जो इस व्यवहार को प्रभावित नहीं करते हैं), तो कर्नेल प्रदान लाइन संपादक Backspaceएक चरित्र को मिटाने की कुंजी को पहचानता है , साथ ही साथ कुछ अन्य कमांड ( Returnइनपुट को समाप्त करने के लिए भी) लाइन और इसे भेजें)। शॉर्टकट कुंजियों को उपयोगिता के साथ कॉन्फ़िगर किया जा सकता हैstty
। टर्मिनल तब कहा जाता है जब उसका लाइन एडिटर सक्रिय हो। कच्चे मोड में, कीबोर्ड पर टाइप किया गया प्रत्येक वर्ण तुरंत एप्लिकेशन को प्रेषित होता है। पके हुए मोड में, वर्ण एक बफर में संग्रहीत किए जाते हैं और केवल पूर्ण लाइनें एप्लिकेशन को प्रेषित की जाती हैं।
वर्णों की एक निश्चित संख्या के बाद पढ़ना बंद करने के लिए ताकि लागू करने के लिए read -n
, बैश को कच्चे मोड पर स्विच करना पड़े । कच्चे मोड में, टर्मिनल Backspaceकुंजी का कोई प्रसंस्करण नहीं करता है (जब तक आप दबाते हैं Backspace, तब तक पूर्ववर्ती चरित्र को पहले से ही काटने के लिए भेजा गया है), और बैश या तो कोई प्रसंस्करण नहीं करता है (संभवतः क्योंकि यह अधिक लचीलापन देता है स्क्रिप्ट को अपनी प्रोसेसिंग करने की अनुमति देना)।
आप -e
बैश के अपने लाइन एडिटर (रीडलाइन, जो कि एक उचित लाइन एडिटर है, कर्नेल के बेहद कच्चे एक की तरह नहीं) को सक्षम करने का विकल्प पास कर सकते हैं । चूँकि बैश लाइन संस्करण कर रहा है, यह एक बार पढ़ना बंद कर सकता है, क्योंकि इसमें पात्रों की अनुरोधित संख्या होती है।
read
पढ़ता है कि 'दर्ज वर्णों की संख्या' अभी भी अनुत्तरित है।