Bunun zaten cevaplandığını biliyorum, ama cevap neler olduğunu açıklamıyor.
Ctrl+ Gibi karakterler uygulamaL tarafından ele alınır . Kabuğa girdi girişi durumunda olduğu gibi ekranı temizler. Bazı uygulamalar, ekranı yeniden çizmek ve / veya imleci yeniden girmek için kullanır.bash
emacs
Şifre isteminde Ctrl+ gibi karakterler TTY hattı disipliniU tarafından ele alınmaktadır . Giriş terminali "kurallı" satır düzenleme modundayken çalışacaklardır, bu, bir şifre girerken programlarınızın hangi modda olduğu. Bu modda, bu karakterleri yorumlayan Linux çekirdeğinin kendisidir. Çıktıdaki hangi tuşlara hangi işlevlerin atandığını görebilirsiniz :stty -a
speed 38400 baud; rows 45; columns 128; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
Burada Ctrl+ ' Unın bağlı olduğunu görebilirsiniz kill
( stty man sayfasına göre ) "mevcut satırı silecektir". stty
Bu eşlemeyi değiştirmek için de kullanabilirsiniz :
stty kill ^E # make ctrl-e erase the line
Bu sayfa , ilgileniyorsanız TTY katmanı hakkında pek çok harika bilgi içeriyor.
Şeyler yeterince kafa karıştırıcı olmasaydı: interaktif bir isteminde zaman bash
, aslında konum değil "kanonik" hat-düzenleme modunda. Bunun yerine, bash
yazdığınız her karakteri doğrudan alıyor ve kontrol dizilerini okuma satırı kitaplığı aracılığıyla yorumluyor . Bu kütüphane , terminal cihazınızda belirlediğiniz eşlemeleri onurlandıracaktır, böylece stty
bunları değiştirmek için yine de kullanabilirsiniz . Veya, dosya içinde özelliği bash
ayarlayarak bunları bağımsız olarak içeride ve diğer okuma satırı tabanlı programlarda özelleştirebilirsiniz . Daha fazla bilgi için bash man sayfasına bakın .unix-line-discard
~/.inputrc
Bir programı çalıştırdığınızda , daha önce etkinleştirildiyse bash
kurallı çizgi düzenleme modunu ( stty icanon
) yeniden etkinleştirir ve program bittiğinde tekrar devre dışı bırakır ( stty -icanon
).