Ich öffne ein xterm-Terminal (80 Spalten x 24 Zeilen), führe dann aus $ bash --norc --noprofile
und $ tty
erhalte dann den Dateinamen des Terminals: Die Ausgabe ist /dev/pts/9
.
Von einem anderen Terminal aus starte ich:
$ printf foo >/dev/pts/9
foo
wird in der Shell-Befehlszeile im ersten Terminal gedruckt.
Wenn ich C-u
zum Ausführen drücke unix-line-discard
(Name der Funktion von $ bind -P | grep -i c-u
), foo
wird nicht entfernt.
Wenn ich 11 Leerzeichen einfüge und drücke C-u
, werden die Leerzeichen entfernt, aber nicht foo
.
Wenn ich 12 Leerzeichen einfüge und drücke C-u
, werden auch die Leerzeichen entfernt foo
.
Warum kann ich nicht entfernen, foo
wenn ich drücke, C-u
während sich mein Cursor direkt dahinter befindet, und warum muss ich 12 Zeichen eingeben, um es zu entfernen?
Umgebung:
$ 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)
quelle
$ printf 'some text'
kann ich auf Bash 5.0 reproduzieren, ohne--norc --noprofile
dass ich 17 Zeichen oder mehr einfüge.