Abro un terminal xterm (80 columnas x 24 líneas), luego ejecuto $ bash --norc --noprofile
y luego $ tty
obtengo el nombre del archivo del terminal: la salida es /dev/pts/9
.
Desde otra terminal corro:
$ printf foo >/dev/pts/9
foo
se imprime en la línea de comandos del shell en el primer terminal.
Si presiono C-u
para ejecutar unix-line-discard
(nombre de la función dada por $ bind -P | grep -i c-u
), foo
no se elimina.
Si inserto 11 espacios y presiono C-u
, los espacios se eliminan pero no foo
.
Si inserto 12 espacios y presiono C-u
, los espacios también se eliminan foo
.
¿Por qué no puedo eliminar foo
cuando presiono C-u
mientras mi cursor está justo después y por qué debo insertar 12 caracteres para eliminarlo?
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)
fuente
$ printf 'some text'
, puedo reproducir en bash 5.0 sin--norc --noprofile
si inserto 17 caracteres o más.