Ich erwarte ein bisschen Flak dafür, aber ich kann die Antwort nirgendwo finden. Es scheint, als sollte es so offensichtlich sein. Wenn ich in einem Bash-Terminal einen fehlerhaften Befehl eingebe, springt der Cursor manchmal ohne Fehler oder irgendetwas in die nächste Zeile. Ich kann nicht sagen, was ich falsch gemacht habe. Es ist, als würde ich im Programm stecken bleiben. Nachstellung:
$ tidy
Ich: "Ups! Das wollte ich nicht tippen ..."
:q
Ich: "Das hat nicht funktioniert ..."
:exit
:quit
exit
quit
/exit
/quit
-exit
-quit
-wtf???
Ich weiß, dass ich es vermasselt habe, aber wie kann ich zur Eingabeaufforderung zurückkehren, ohne das Terminal zu schließen?
shell
command-line
terminal
kill
David Kennedy
quelle
quelle
:q
arbeitete tatsächlich für mich; Ist das nicht ein Vim-Befehl?Antworten:
Sie können immer versuchen , die offensichtlichen Dinge wie
^C
,^D
(EOF), Flucht usw., aber wenn alle Stricke ich in der Regel den Befehl am Ende Aussetzung mit^Z
(Strg-Z) , die bringt mich in die Schale zurück.Ich mache dann einen
ps
Befehl und notiere die PID (Prozess-ID) des Befehls und gebe dann einenkill thePID
(kill -9 thePID
falls der erstere nicht funktioniert hat) Befehl aus, um die Anwendung zu beenden.Beachten Sie, dass dies keine ordentliche (kein Wortspiel beabsichtigte) Möglichkeit ist, die Anwendung / den Befehl zu beenden, und Sie das Risiko eingehen, dass möglicherweise einige Daten usw. nicht gespeichert werden.
Ein Beispiel (ich hätte verwendet,
tidy
aber ich habe es nicht installiert):quelle
SIG_IGN
, sonst fangen sie auch damit an. Was werden wir dann tun?LESS='+/^JOB CONTROL' man bash
.%%
bezieht sich auf den "aktuellen Job".Versuchen Sie es mit Ctrl- Doder Ctrl- C. Wenn es fehlschlägt, beenden Sie den Prozess.
Der Versuch , mit dem
tidy
Befehl , den Sie erwähnt Ctrl- Dfunktioniert.quelle
CTRL+C
ist auch gut für Windows CMD.Eine andere (nicht erwähnte) Lösung besteht darin, das
SIGQUIT
Signal mit ctrl+ zu senden\Es ist stärker als ein ctrl+c
quelle
CTRL+D
== exit shell command
und
CTRL+ C
== terminate the current process, Of course may be the given software handle it and
CTRL+Ddoens't work
Natürlich produzieren sie eine,
kernel signal
wenn Sie mehr wissen wollen, lesen Sie:quelle