Що я можу зробити, якщо баш перестає лунати?


10

Одне з застосувань, які я використовую на роботі, іноді гвинтить мою базу, і тому я вже не бачу власного вкладу. Тобто

$ echo foo
foo
$

стає

$ foo $

Я неправильно намагався запустити, stty -echoщо погіршило питання, і тепер він перестає приймати команди всі разом, які ставлять моє введення в деякий стан, який просто викликає >появу кожного разу, коли я перериваю рядок і більше нічого.

Що я мав зробити?


2
Спробуйте побігти resetдля хорошого старту. Звичайно , ви не можете ввести будь-яку команду в даний час в цей термінал таким чином , з іншого один спробувати що - щось на зразок cat >/dev/pts/3де 3ваш проблематично номер терміналу , а потім натисніть наступні клавіші: ESC c ENTER Ctrl-D.
jimmij

Відповіді:


19

Звичайний засіб для подібних речей

stty sane

Це stty -echoне повинно було погіршити ситуацію, оскільки це просто вимикає лунання, і ви вже мали це.

Те, що ви говорите, що повернення просто викликає >появу, означає, що ви почали щось, що викликає продовження наступних рядків, наприклад, echo 'це зробить, тому що чекає закриття, 'щоб завершити рядок. Це спричинить і інші речі, такі як if something; це чекає на then ... fiчастину.

Напевно, ви могли би потрапити ctrl- cна цьому етапі зупинити його в очікуванні решти команди, якщо тільки термінал не був так заплутаний, що переривання також не створювалося.


Ах, це має сенс. Я спробував удари як ctrl + cі , ctrl + zале, схоже , НЕ досягти нічого.
Кіт Сунде

3

Окрім відповіді @ wurtel (особливо ймовірного пояснення >проблеми), stty echoє протилежною stty -echo, тому ви можете використовувати це. Ви також можете використовувати reset, що зазвичай постачається з ncurses пакетами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.