xtermターミナル(80列x 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'、を使用すると、--norc --noprofile17文字以上を挿入しなくてもbash 5.0で再現できます。