командная строка застряла на одной строке

Иногда (редко) бывает так, что когда я нажимаю enter на терминале, командная строка не переходит к следующей строке, но она снова печатается в той же строке .

Моя работа – просто закрыть терминал и открыть новый. Есть ли способ избежать этого?

Действия по воспроизведению:

  1. попробуйте войти в mongo с включенной аутентификацией, чтобы вы получили приглашение ввести пароль, например: mongo --authenticationDatabase somedb -u someuser -p ,
  2. затем в появившемся приглашении пароля нажмите ctrl+c , voila, теперь все на одной строке

Используйте команду reset .

См. man reset :

Когда вызывается как сброс, tset устанавливает режим cooked и echo, отключает режимы cbreak и raw, включает перевод новой строки и сбрасывает любые неустановленные специальные символы до значений по умолчанию, прежде чем выполнять инициализацию терминала, описанную выше. Это полезно, когда программа умирает, оставляя терминал в ненормальном состоянии.

Это полезно для многих ситуаций, когда терминал действует, например, если скрипт отключил локальное эхо и умер, прежде чем включать его, чтобы вы не могли видеть, что вы вводите в командной строке …

В следующий раз, когда у вас возникнет проблема типа ctrl+c он завершит команду. Это может помочь, сообщите мне, что произойдет.

Вы также хотите убедиться, что вы вводите правильно; возможно, поэтому он ловит.