J'ouvre un terminal xterm (80 colonnes x 24 lignes), puis je lance $ bash --norc --noprofile, puis $ ttypour obtenir le nom de fichier du terminal: la sortie est /dev/pts/9.
Depuis un autre terminal, je lance:
$ printf foo >/dev/pts/9
fooest imprimé sur la ligne de commande du shell dans le premier terminal.
Si j'appuie sur C-upour exécuter unix-line-discard(nom de la fonction donnée par $ bind -P | grep -i c-u), foon'est pas supprimé.
Si j'insère 11 espaces et appuie sur C-u, les espaces sont supprimés mais pas foo.
Si j'insère 12 espaces et appuie sur C-u, les espaces sont également supprimés foo.
Pourquoi ne puis-je pas supprimer foolorsque j'appuie C-ualors que mon curseur se trouve juste après, et pourquoi dois-je insérer 12 caractères pour le supprimer?
Environnement:
$ 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', je peux reproduire sur bash 5.0 sans--norc --noprofileque j'insère 17 caractères ou plus.