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 -echo
was 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?
bash
command-line
terminal
Kit Sunde
quelle
quelle
reset
fü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/3
wo3
sich Ihre problematische Terminalnummer befindet, und drücken Sie dann die folgenden Tasten :ESC
c
ENTER
Ctrl-D
.Antworten:
Das übliche Mittel gegen solche Dinge ist
Das
stty -echo
hä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 zif something
. es wartet auf denthen ... fi
Teil.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.
quelle
ctrl + c
undctrl + z
schien aber nichts zu erreichen.Zusätzlich zu @ wurtels Antwort (insbesondere der wahrscheinlichen Erklärung des
>
Problems)stty echo
ist das Gegenteil vonstty -echo
, also könnten Sie das verwenden. Sie können auch verwendenreset
, was normalerweise mit ncurses-Paketen geliefert wird.quelle