Saya membuka terminal xterm (80 kolom x 24 baris), kemudian jalankan $ bash --norc --noprofile
, dan kemudian $ tty
untuk mendapatkan nama file terminal: outputnya adalah /dev/pts/9
.
Dari terminal lain saya jalankan:
$ printf foo >/dev/pts/9
foo
dicetak pada baris perintah shell di terminal pertama.
Jika saya tekan C-u
untuk menjalankan unix-line-discard
(nama fungsi yang diberikan oleh $ bind -P | grep -i c-u
), foo
tidak dihapus.
Jika saya memasukkan 11 spasi dan menekan C-u
, spasi akan dihapus tetapi tidak foo
.
Jika saya memasukkan 12 spasi dan menekan C-u
, spasi juga akan dihapus foo
.
Mengapa saya tidak bisa menghapus foo
ketika saya menekan C-u
ketika kursor saya tepat setelah itu, dan mengapa saya harus memasukkan 12 karakter untuk menghapusnya?
Lingkungan Hidup:
$ 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)
sumber
$ printf 'some text'
, saya dapat mereproduksi di bash 5.0 tanpa--norc --noprofile
jika saya memasukkan 17 karakter atau lebih.