ฉันจะทำอย่างไรถ้าทุบตีหยุดสะท้อน?


10

หนึ่งในแอปพลิเคชันที่ฉันใช้ในที่ทำงานบางครั้งใช้สกรูกับทุบตีของฉันดังนั้นฉันจึงไม่เห็นอินพุตของฉันอีกต่อไป กล่าวคือ

$ echo foo
foo
$

กลายเป็น

$ foo $

ฉันพยายามเรียกใช้อย่างไม่ถูกต้องstty -echoซึ่งทำให้เรื่องแย่ลงและตอนนี้ก็หยุดรับคำสั่งทั้งหมดเข้าด้วยกันซึ่งทำให้อินพุตของฉันอยู่ในสถานะที่ทำให้เกิด>การปรากฏทุกครั้งที่ตัวแบ่งบรรทัดและไม่มีอะไรอื่น

ฉันควรทำอย่างไร


2
พยายามวิ่งresetเพื่อการเริ่มต้นที่ดี แน่นอนคุณไม่สามารถเข้าในขณะนี้คำสั่งใด ๆ ลงเพื่อให้สถานีนี้จากอีกหนึ่งสิ่งที่ลองเหมือนcat >/dev/pts/3ที่3เป็นจำนวน terminal ESC c ENTER Ctrl-Dของคุณมีปัญหาและจากนั้นกดปุ่มต่อไปนี้:
jimmij

คำตอบ:


19

การรักษาปกติสำหรับสิ่งต่าง ๆ เช่นนี้คือ

stty sane

สิ่งที่stty -echoไม่ควรทำยิ่งแย่ลงเพราะมันแค่ปิดเสียงก้องของอินพุตและคุณก็มีอยู่แล้ว

ความจริงที่ว่าคุณพูดว่าการส่งคืนทำให้เกิด>การปรากฏนั่นหมายความว่าคุณเริ่มต้นบางสิ่งที่ทำให้เกิดความต่อเนื่องในบรรทัดถัดไปเช่นecho 'จะทำเช่นนั้นเพราะมันกำลังรอให้การปิด'เพื่อยุติสตริง สิ่งอื่น ๆ จะทำให้เกิดสิ่งนี้เช่นกันเช่นif something; มันกำลังรอthen ... fiส่วน

คุณอาจจะต้องตีctrl- cในขั้นตอนที่จะหยุดมันรอเวลาที่เหลือของคำสั่งเว้นแต่ขั้วถูก messed เพื่อขึ้นที่ขัดจังหวะเขายังไม่ได้ถูกสร้างขึ้น


อาที่ทำให้ความรู้สึก ฉันพยายามตีทั้งสองctrl + cและctrl + zแต่ดูเหมือนจะไม่ประสบความสำเร็จได้
Kit Sunde

3

นอกเหนือจากคำตอบของ @ wurtel (โดยเฉพาะคำอธิบายที่เป็นไปได้ของ>ปัญหา) ซึ่งstty echoตรงกันข้ามกับstty -echoดังนั้นคุณอาจใช้สิ่งนั้น นอกจากนี้คุณยังสามารถใช้resetซึ่งมักจะมาพร้อมกับแพ็คเกจ ncurses

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.