Anda dapat menghapus seluruh kata sandi yang diketik dengan Ctrl +U .
Berbeda dengan bash
, ssh
Prompt kata sandi tidak menggunakan pustaka terminal-input khusus seperti readline
. Fitur pengeditan baris hanyalah fitur pengeditan baris dasar POSIX TTY.
Jadi Anda memiliki TTY POSIX dalam mode "dimasak" (bukan mentah), alias mode kanonik, dan satu-satunya pengeditan baris yang tersedia adalah yang disediakan oleh kernel. Lihat stty(1)
, dan perhatikan itu
kill = ^U
. Ini juga dimana karakter backspace didefinisikan (erase = ^?
). Penghapusan kata (^W
) nyaman saat Anda tidak mengetik buta.
lnext = ^V
berarti Anda dapat mengetik control-v lalu apa saja (termasuk control-c) untuk mendapatkan control-c literal.
Untuk men-debug apa yang Anda coba lakukan secara membabi buta, jalankan cat
atau cat > /dev/null
di terminal Anda . Ketik hal-hal, lalu lihat mana yang berhasil dan mana yang tidak untuk diedit.
readline
(digunakan oleh bash
) membaca karakter mentah dan melakukan pengeditan baris di ruang pengguna. Binding defaultnya kompatibel dengan karakter kontrol TTY default, untuk subset fitur pengeditan yang disediakan keduanya.
readline jauh melampaui pengeditan baris sederhana dari TTY biasa. (mis. TTY hanya dapat menghapus karakter di akhir baris, jadi tidak ada ^a
dan delete
atau panah kiri/kanan)
Ketika bash
menjalankan perintah di latar depan, ini menempatkan TTY ke mode kanonis terlebih dahulu (karena itulah defaultnya). Jadi jalankan stty -a
(tanpa pengalihan) akan selalu melihat terminalnya sendiri dalam mode kanonik. Tetapi jika Anda mengalihkan input dari beberapa TTY lain yang memiliki bash
berjalan di atasnya, Anda dapat melihat pengaturan terminal bash + readline apa yang diterapkan. misalnya stty -a < /dev/pts/12
menunjukkan -icanon
untuk raw mode karena saya punya bash
berjalan di terminal itu. (Saya beralih ke tab lain dan menjalankan tty
, lalu gunakan jalur file perangkat itu dari terminal pertama). Jika saya menjalankan cat
di terminal lain itu, saya akan melihat icanon
untuk mode kanonis.
Terkait:TTY terungkap
https://www.gnu.org/software/libc/manual/html_node/Canonical-or-Not.html
https://en.wikipedia.org/wiki/POSIX_terminal_interface