ฉันจะสร้างread
ประวัติการสนับสนุนคำสั่งbuiltin ได้อย่างไรโดยการกดปุ่มขึ้น / ลงเพื่อวนรอบพวกเขา
ฉันพยายามจับเมื่อคุณกดปุ่ม up แต่ดูเหมือนจะไม่ทำงานกับread
:
read -p '> ' -n 3 foo
echo
echo -n "$foo" | hexdump
การกดปุ่มลูกศรดูเหมือนว่าจะใช้งานได้และฉันสามารถตรวจจับได้โดยใช้สิ่งนี้ แต่ถ้าฉันกดaa↑มันจะล้มเหลวเนื่องจากมันจะอ่านตัวอักษรแรกของตัวระบุของลูกศรขึ้นเท่านั้นในขณะที่ตัวที่สามจำเป็นต้องแยกลูกศรที่แตกต่างกัน กุญแจ
rlwrap
(อย่างน้อยในเครื่องของฉัน)rlwrap
ไม่สามารถจัดการ CTRL-C ได้อย่างสง่างามเช่นลองใช้งานUSERINPUT=$(rlwrap -o cat)
และกด CTRL-C และดูว่าเทอร์มินัลของคุณทำงานอย่างไรในภายหลัง (เรียกใช้reset
คำสั่งเพื่อกลับสู่สถานะสติอีกครั้ง) .