Strg+C funktioniert nicht mehr, um eine neue leere Zeile in Bash zu erhalten

Strg+C funktioniert nicht mehr, um eine neue leere Zeile in Bash zu erhalten

Ich habe auf den meisten Terminals Strg+C verwendet, um die Zeile, die ich gerade schrieb, einfach abzubrechen und Platz für eine neue Zeile zu machen. (Ich spreche nicht vom Beenden eines laufenden Bash-Skripts, sondern nur vom Öffnen einer neuen leeren Zeile.) Aus einem mir nicht einfallenden Grund wurde diese Funktion einfach auf einer per SSH geöffneten Remote-Shell deaktiviert.

Strg+C funktioniert in den meisten anderen Fällen (z. B. beim Beenden eines laufenden Skripts oder beim Verlassen des VIM-Einfügemodus), überspringt die Zeile jedoch nicht mehr und geht in der normalen Shell nicht mehr zur nächsten.

Dies ist eine Shell, die unter Amazon Linux 2 läuft, aber ich hatte dieses Problem nie auf anderen Amazon Linux 2-Rechnern, also liegt es wahrscheinlich an etwas, das ich getan habe ...

Irgendeine Idee, was passiert sein könnte und wie ich es beheben kann?

In der Zwischenzeit hänge ich beim Drücken der Entf-Taste fest, was trotz Minimierung der Tastenwiederholungszeit immer noch ziemlich langsam ist.

BEARBEITEN -

Ich verbinde mich über SSH mit dem Terminal und das ist interessant: Wenn ich in meinem SSH-Terminal eine neue Shell öffne (mit bash), funktioniert STRG+C wieder!

Antwort1

Um das Problem zu beheben, können Sie den sttyBefehl zum Zurücksetzen verwenden.

$ stty intr \^c

Um zu sehen, was intraktuell eingestellt ist, können Sie Folgendes verwenden:

$ stty -a 

$ stty -a

Geschwindigkeit 38400 Baud; Zeilen 21; Spalten 161; Zeile = 0; intr = ^C; beenden = ^\; löschen = ^?; töten = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = ; starten = ^Q; stoppen = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; leeren = ^O; min = 1; Zeit = 0; -parenb -parodd -cmspar 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

Die Funktion intrwird in der Manpage wie folgt beschrieben:

intr CHAR

CHAR sendet ein Interrupt-Signal

https://linux.die.net/man/1/stty

verwandte Informationen