Abro um terminal xterm (80 colunas x 24 linhas), depois corro $ bash --norc --noprofilee, em seguida, $ ttypara obter o nome do arquivo do terminal: a saída é /dev/pts/9.
De outro terminal, corro:
$ printf foo >/dev/pts/9
fooé impresso na linha de comando do shell no primeiro terminal.
Se eu pressionar C-upara executar unix-line-discard(nome da função fornecida por $ bind -P | grep -i c-u), foonão será removido.
Se eu inserir 11 espaços e pressionar C-u, os espaços serão removidos, mas não serão foo.
Se eu inserir 12 espaços e pressionar C-u, os espaços serão removidos e também foo.
Por que não consigo removê-lo fooquando pressiono C-uenquanto meu cursor está logo depois dele e por que preciso inserir 12 caracteres para removê-lo?
Meio Ambiente:
$ 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', eu posso reproduzir no bash 5.0 sem--norc --noprofilese inserir 17 caracteres ou mais.