ซึ่งแตกต่างจากbash, ssh's สอบถามรหัสผ่านไม่ได้ใช้ห้องสมุดขั้วอินพุตใด ๆ readlineเป็นพิเศษเช่น คุณลักษณะการแก้ไขบรรทัดเป็นเพียงคุณสมบัติการแก้ไขบรรทัดพื้นฐาน POSIX TTY
ดังนั้นคุณมี POSIX TTY ในโหมด "สุก" (ไม่ใช่แบบดิบ), โหมดมาตรฐานหรือที่รู้จักและการแก้ไขบรรทัดเดียวที่มีให้คือสิ่งที่เคอร์เนลจัดทำ ดูและแจ้งให้ทราบว่าstty(1)
kill = ^Uนี่คือตำแหน่งที่อักขระ backspace ถูกกำหนด ( erase = ^?) การลบคำ ( ^W) สะดวกเมื่อคุณไม่ได้พิมพ์คนตาบอด
lnext = ^V หมายความว่าคุณสามารถพิมพ์ control-v ตามด้วยอะไรก็ได้ (รวมถึง control-c) เพื่อรับตัวอักษร -c
การแก้ปัญหาสิ่งที่คุณกำลังพยายามที่จะทำสุ่มสี่สุ่มห้าทำงานcatหรือcat > /dev/nullในสถานีของคุณ พิมพ์รายการแล้วดูว่าอะไรทำงานได้บ้างและไม่ต้องแก้ไข
readline(ใช้โดยbash) อ่านอักขระดิบและทำการแก้ไขบรรทัดในพื้นที่ผู้ใช้ การเชื่อมโยงเริ่มต้นนั้นเข้ากันได้กับอักขระควบคุม TTY ที่เป็นค่าเริ่มต้นสำหรับชุดย่อยของคุณลักษณะการแก้ไขที่ทั้งสองมีให้
readline ก้าวไปไกลกว่าการแก้ไขบรรทัดอย่างง่าย ๆ ของ TTY ธรรมดา (เช่น TTY สามารถลบตัวอักษรที่ท้ายบรรทัดเพื่อให้ไม่มี^aและdeleteหรือลูกศรซ้าย / ขวา)
เมื่อbashเรียกใช้คำสั่งในเบื้องหน้าจะทำให้ TTY เข้าสู่โหมด canonical ก่อน (เพราะนั่นคือค่าเริ่มต้น) ดังนั้นการเรียกใช้stty -a(โดยไม่มีการเปลี่ยนเส้นทาง) จะเห็นเทอร์มินัลของตัวเองในโหมด canonical เสมอ แต่ถ้าคุณเปลี่ยนเส้นทางการป้อนข้อมูลจาก TTY อื่น ๆ ที่bashทำงานอยู่คุณสามารถดูว่าการตั้งค่าเทอร์มินัล bash + readline ถูกนำไปใช้อย่างไร เช่นstty -a < /dev/pts/12แสดงให้เห็นถึง-icanonโหมด raw เพราะฉันมีการbashทำงานบนสถานีนั้น (ฉันสลับไปที่แท็บอื่นแล้ววิ่งttyจากนั้นใช้เส้นทางของไฟล์อุปกรณ์นั้นจากเทอร์มินัลแรก) ถ้าฉันวิ่งเข้าไปcatในเทอร์มินัลอื่นนั้นฉันจะเห็นicanonโหมด canonical
ที่เกี่ยวข้อง: TTY demystified
https://www.gnu.org/software/libc/manual/html_node/Canonical-or-Not.html
https://en.wikipedia.org/wiki/POSIX_terminal_interface