Abro um terminal xterm (80 colunas x 24 linhas), depois corro $ bash --norc --noprofile
e, em seguida, $ tty
para 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-u
para executar unix-line-discard
(nome da função fornecida por $ bind -P | grep -i c-u
), foo
nã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 foo
quando pressiono C-u
enquanto 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 --noprofile
se inserir 17 caracteres ou mais.