क्या अदृश्य पाठ बग को बग या फीचर में बदल सकता है?


8

पिछले 10 वर्षों में मैंने हर एक लिनक्स वितरण पर निम्न असुविधा का उपयोग किया है: आप बैश का उपयोग करके टर्मिनल में एक कार्यक्रम चलाते हैं। कार्यक्रम को रोकने या बाधित करने के बाद, आप जो भी लिखते हैं वह कभी-कभी अदृश्य दिखाई देता है। फिर आप कमांड "रीसेट" दर्ज कर सकते हैं और स्क्रीन साफ ​​हो जाती है और कर्सर फिर से दिखाई देता है।

इस बग के कारण, मैंने हमेशा शेल को zsh में बदल दिया जब भी मैं पहली बार किसी नए टर्मिनल में लॉगिन करता हूं। Zsh में अदृश्य पाठ बग कभी नहीं होता है। चूंकि बग अब 10 साल से अधिक समय के लिए है, इसलिए मुझे संदेह होने लगा है कि यह बैश की विशेषता है। तो, क्या कोई मुझे बता सकता है कि यह किसके लिए अच्छा है?

इसके अलावा, जहां बाश होम पेज / बग ट्रैकर वास्तव में स्थित है। Bash.org लगता है के बारे में "आईटी को कोसने", और इसलिए #bash irc चैनल करता है। अधिकांश लिनक्स वितरणों में एक शेल क्यों शामिल है जो प्रतिक्रिया देने के लिए इतना कठिन है, जब कई विकल्प कम से कम अच्छे हैं?

bash  shell 

1
तो ... आपके प्रश्न का कौन सा भाग प्रोग्रामिंग से संबंधित है?
इग्नासियो वाज़केज़-अब्राम्स

2
कृपया मुझे पूछने के लिए सही जगह पर निर्देशित करें। विडंबना यह है कि "बैश शेल बग ट्रैकर" पर एक Google खोज वर्तमान में इस पृष्ठ पर ले जाती है।

ऐसा तब होता है जब आप catबाइनरी फाइल करते हैं ...
यब

जवाबों:


11

इसका मतलब केवल यह है कि zsh में आप ऐसा कुछ नहीं कर सकते:

stty -echo     #turn off echoing what you type
stty echo      #turn on echoing
reset          #reset terminal to the default state

बैश में, उपरोक्त कमांड अपेक्षा के अनुसार काम करता है - कमांड की गूंज बंद करें। बस zsh में कोशिश की - काम नहीं करता है। बग किसके पास है? ;)

ईएससी अनुक्रमों के साथ गूंज को बंद करना संभव है, इसलिए यदि आपका कार्यक्रम बेतरतीब ढंग से टर्मिनल, (या जब आप CTRL- \ कुछ स्क्रीन उन्मुख कार्यक्रम) को द्विआधारी अनुक्रम भेजते हैं, तो यह कभी-कभी ऐसा व्यवहार करता है stty -echoऔर आपको resetइसे अवश्य करना चाहिए । यह बग नहीं है - बस यह है कि टर्मिनल (और टर्मिनल एमुलेटर) कैसे काम करता है।

क्या अजीब है, क्यों zsh में stty -echoकाम नहीं करता है।


2
Zsh में, आप ttyctl -fटर्मिनल मोड में परिवर्तन को अस्वीकार कर सकते हैं, और ttyctl -uउन्हें अनुमति देने के लिए।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.