我打开一个xterm终端(80列x 24行),然后运行$ bash --norc --noprofile,然后$ tty获取终端的文件名:输出为/dev/pts/9。
从另一个终端运行:
$ printf foo >/dev/pts/9
foo在第一个终端的shell命令行上打印。
如果我按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个字符或更多。