Was kann ich tun, wenn die Bash nicht mehr hallt?


10

Eine der Anwendungen, die ich bei der Arbeit verwende, schraubt manchmal mit meiner Bash und so sehe ich meine eigenen Eingaben nicht mehr. Dh

$ echo foo
foo
$

wird

$ foo $

Ich habe fälschlicherweise versucht zu laufen, stty -echowas die Sache noch schlimmer gemacht hat, und jetzt werden keine Befehle mehr akzeptiert, die meine Eingabe in einen Zustand versetzen, der nur >jedes Mal angezeigt wird, wenn ich einen Zeilenumbruch mache, und sonst nichts.

Was hätte ich machen sollen?


2
Versuchen Sie, resetfür einen guten Start zu laufen . Natürlich können Sie jetzt keinen Befehl in dieses Terminal eingeben. Versuchen Sie also von einem anderen Terminal aus, cat >/dev/pts/3wo 3sich Ihre problematische Terminalnummer befindet, und drücken Sie dann die folgenden Tasten : ESC c ENTER Ctrl-D.
Jimmy

Antworten:


19

Das übliche Mittel gegen solche Dinge ist

stty sane

Das stty -echohätte das nicht schlimmer machen sollen, da das Echo der Eingabe nur ausgeschaltet wird, und das hatten Sie bereits.

Die Tatsache, dass Sie sagen, dass Rückgaben nur dazu führen >, dass sie angezeigt werden, bedeutet, dass Sie etwas gestartet haben, das eine Kontinuität über die nächsten Zeilen verursacht, z. B. echo 'weil es darauf wartet, dass das Schließen 'die Zeichenfolge beendet. Andere Dinge werden dies ebenfalls verursachen, wie z if something. es wartet auf den then ... fiTeil.

Sie hätten wahrscheinlich treffen können ctrl- czu diesem Zeitpunkt, um das Warten auf den Rest des Befehls zu stoppen, es sei denn, das Terminal war so durcheinander, dass auch keine Interrupts generiert wurden.


Ah das macht Sinn. Ich habe versucht, beide zu treffen ctrl + cund ctrl + zschien aber nichts zu erreichen.
Kit Sunde

3

Zusätzlich zu @ wurtels Antwort (insbesondere der wahrscheinlichen Erklärung des >Problems) stty echoist das Gegenteil von stty -echo, also könnten Sie das verwenden. Sie können auch verwenden reset, was normalerweise mit ncurses-Paketen geliefert wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.