ปัญหาของฉันคือเปลือก Bash หยุดแสดงอักขระที่ฉันพิมพ์ลงไป มันจะอ่านคำสั่งว่า
ฉันเจอปัญหานี้สองสามครั้งและฉันไม่เข้าใจว่าอะไรเป็นสาเหตุ ฉันรู้วิธีแก้ปัญหา แต่ฉันไม่ชอบจริง ๆ เมื่อฉัน "เก็บของ" วิธีการของฉันออกจากปัญหา
ฉันจะอธิบายสองวิธีที่ฉันเจอปัญหานี้:
ฉันใช้กระบวนการบางอย่างhttp://pythonpaste.org/script/และบางครั้งเมื่อฉันหยุดการทำงานหรือหยุดการควบคุมกลับไปที่เชลล์ เมื่อฉันไปแล้วพิมพ์คำสั่งลงในเชลล์อักขระที่ฉันพิมพ์จะไม่แสดงขึ้นมา เมื่อฉันกด Enter คำสั่งจะถูกส่ง ตัวอย่างเช่น:
- ฉันพิมพ์ "ls"
- ฉันเห็นข้อความแจ้งที่ว่างเปล่าและไม่มีอะไรเพิ่มเติม
- ฉันกด Enter และฉันได้รับรายชื่อของไฟล์ในคำอื่น ๆ : คำสั่งจะถูกดำเนินการ
- เมื่อฉันให้คำสั่ง "รีเซ็ต" เชลล์เริ่มทำงานตามปกติอีกครั้ง
วิธีที่สองเกิดขึ้นคือเมื่อฉันให้คำสั่งเช่นนี้:
$ grep foo * -l | xargs vim
ฉันใช้ grep เพื่อค้นหาไฟล์ที่มีรูปแบบที่แน่นอนแล้วฉันต้องการเปิดไฟล์ทั้งหมดที่เป็นผลมาจาก grep มันใช้งานได้อย่างมีเสน่ห์ (แม้ว่าจะไม่เร็วอย่างที่ฉันหวังไว้) แต่เมื่อฉันออกเป็นกลุ่มเปลือกของฉันหยุดแสดงตัวละครที่ฉันพิมพ์ลงไป คำสั่งรีเซ็ตช่วยแก้ไขปัญหา
ฉันเดาว่าปัญหาทั้งสองมีเหตุผลพื้นฐาน แต่ฉันก็นิ่งงันกับสาเหตุหรือเหตุผลนั้น
การค้นหาปัญหานี้เป็นปัญหาเนื่องจากคำอธิบายนั้นค่อนข้างคลุมเครือและไม่มีคำค้นหาที่ยากนัก
แก้ไข
ให้
stty --all
คำสั่งตามคำขอของ John S. Gruber ให้เอาต์พุตต่อไปนี้ (แก้ไขช่องว่างเพื่อให้สามารถอ่านได้)
speed 0 baud;
rows 53;
columns 186;
line = 0;
intr = <undef>;
quit = <undef>;
erase = <undef>;
kill = <undef>;
eof = <undef>;
eol = <undef>;
eol2 = <undef>;
swtch = <undef>;
start = <undef>;
stop = <undef>;
susp = <undef>;
rprnt = <undef>;
werase = <undef>;
lnext = <undef>;
flush = <undef>;
min = 0;
time = 0;
-parenb
-parodd cs8
-hupcl
-cstopb cread
-clocal
-crtscts
-ignbrk
-brkint
-ignpar
-parmrk
-inpck
-istrip
-inlcr
-igncr
-icrnl
-ixon
-ixoff
-iuclc
-ixany
-imaxbel
-iutf8
-opost
-olcuc
-ocrnl
-onlcr
-onocr
-onlret
-ofill
-ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig
-icanon
-iexten
-echo
-echoe
-echok
-echonl
-noflsh
-xcase
-tostop
-echoprt
-echoctl
-echoke
stty --all
คำถามของฉัน ขอบคุณล่วงหน้า!
stty --all
และวางผลลัพธ์ในคำถามของคุณ เสียงก้องเป็นลักษณะ tty ที่ถูกปิด กลุ่มจะทำเช่นนี้ในขณะที่มันกำลังทำงานและมันจะทำให้เครื่องในโหมดดิบเช่นกัน เมื่อออกจากมันควรรีเซ็ตการตั้งค่าเทอร์มินัลเอง เมื่อ vim กำลังรันคุณไม่ต้องการ echoi
คำสั่งที่ทำให้เอดิเตอร์เข้าสู่โหมดแทรกตัวอย่างเช่น การตั้งค่าเหล่านี้บอกอุปกรณ์ tty ว่าควรประมวลผลสิ่งที่คุณพิมพ์อย่างไร ในขณะที่เสียงเรียกใช้มันจะคอยดูแลการสะท้อนสิ่งที่ควรจะเป็นเสียงสะท้อน ฯลฯ