Я открываю терминал xterm (80 столбцов х 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 символов или более.