Я использовал сочетание клавиш Ctrl+C на большинстве терминалов, чтобы легко отменить строку, которую я писал, и открыть путь для новой строки. (Я не говорю об остановке работающего скрипта bash, а просто об открытии новой пустой строки) По непонятной мне причине эта функция была отключена в удаленной оболочке, открытой по SSH.
Сочетание клавиш Ctrl+C будет работать в большинстве других случаев (например, для завершения запущенного скрипта, выхода из режима вставки VIM), но больше не будет пропускать строку и переходить к следующей в обычной оболочке.
Это оболочка, работающая на Amazon Linux 2, но у меня никогда не возникало подобной проблемы на других машинах Amazon Linux 2, так что, вероятно, проблема в чем-то, что я сделал...
Есть идеи, что могло произойти и как это исправить?
В то же время я застрял, нажимая клавишу Delete, которая, несмотря на то, что время повторного нажатия установлено на минимум, все равно довольно медленная.
РЕДАКТИРОВАТЬ -
Я подключаюсь к терминалу через SSH, и вот что интересно: если я открываю новую оболочку внутри моего терминала SSH (используя bash
), то CTRL+C снова работает!
решение1
Чтобы исправить это, вы можете использовать stty
команду сброса.
$ stty intr \^c
Чтобы узнать, какие intr
настройки установлены в данный момент, можно использовать:
$ stty -a
$ stty -a
скорость 38400 бод; строк 21; столбцов 161; строка = 0; intr = ^C; quit = ^\; erasure = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 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
Функция intr
описана на странице руководства следующим образом:
встр СИМВОЛ
CHAR отправит сигнал прерывания