ฉันเปิดสถานี xterm (80 คอลัมน์ x 24 สาย) จากนั้นก็วิ่ง$ bash --norc --noprofile
แล้ว$ tty
จะได้รับชื่อไฟล์ของขั้ว: /dev/pts/9
ออกเป็น
จากเทอร์มินัลอื่นฉันรัน:
$ printf foo >/dev/pts/9
foo
ถูกพิมพ์ลงบนบรรทัดคำสั่งของเชลล์ในเทอร์มินัลแรก
หากฉันกดC-u
เพื่อเรียกใช้unix-line-discard
(ชื่อฟังก์ชั่นที่กำหนดโดย$ bind -P | grep -i c-u
) foo
จะไม่ถูกลบออก
ถ้าผมใส่ 11 ช่องว่างและกดC-u
ช่องว่างจะถูกลบออก foo
แต่ไม่
ถ้าผมใส่ 12 ช่องว่างและกดช่องว่างจะถูกลบออกเช่นเดียวกับC-u
foo
ทำไมฉันไม่สามารถลบออกได้foo
เมื่อฉันกดC-u
ในขณะที่เคอร์เซอร์อยู่ข้างหลังและทำไมฉันต้องแทรก 12 ตัวอักษรเพื่อลบออก?
สิ่งแวดล้อม:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
$ bash --version | head -n1
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
$ xterm -version
XTerm(322)
$ printf 'some text'
ฉันสามารถทำซ้ำใน bash 5.0 โดยไม่ต้อง--norc --noprofile
ถ้าฉันใส่ 17 ตัวอักษรหรือมากกว่า