Подтвердить что ты не робот

Linux Terminal: набрав обратную связь, разрывы строк не отображаются

Время от времени мне приходится запускать инструмент командной строки (Python script), выход которого, похоже, прерывает мой терминал. После того, как выполнение закончено, отклика на ввод текста исчезла (я не вижу, что я набираю), а также разрывы строк не отображаются. Это происходит, если терминал запускается удаленно через Putty, а также локально при использовании gnome-terminal.

Например, после возникновения проблемы, если я наберу ENTER pwd ENTER, я ожидал бы увидеть:

[[email protected] ~]$
[[email protected] ~]$ pwd
/home/userA
[[email protected] ~]$

Но на самом деле вывод:

[[email protected] ~]$ [[email protected] ~]$ /home/userA
                                                             [[email protected] ~]$

Единственный способ исправить это - закрыть этот терминал и запустить новый.

Возможно, это связано: вывод script содержит некоторое форматирование на основе терминала (например, инвертирует передний план/фон, чтобы выделить некоторые сообщения о состоянии). Если я выгружаю этот вывод в файл, я вижу такие вещи, как [07mSome Message Here[0m.

Любые идеи, что я мог бы сделать, чтобы предотвратить это?

4b9b3361

Ответ 1

Выполните команду "reset", и ваш терминал должен быть восстановлен
Ссылка:
http://www.commandlinefu.com/commands/view/32/salvage-a-borked-terminal

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

Легкий способ избежать этого - убедиться, что вы не даете неизвестные двоичные данные терминалу, и если вы должны преобразовать его в шестнадцатеричный, чтобы гарантировать, что он не изменит настройки терминала.