Gibt es einen äquivalenten Tastendruck zum Verlassen einer Eingabeaufforderung unter Windows (über Start-> Ausführen: cmd gestartet) in den Bash-Standby von Ctrl- d, um zu verhindern, dass Sie etwas eingeben müssen exit
, um die Shell zu verlassen?
windows
command-line
bash
keyboard-shortcuts
Labyrinth
quelle
quelle
Ctrl+D
ist lediglich ein gewöhnliches Zeichen und kein EOF-Sonderzeichen. Shells bindenCtrl+D
an eine GNU Readline- oder ZLE-Aktion, die beendet wird (jedoch nur, wenn der Zeilenbearbeitungspuffer leer ist), sodass das Verhalten größtenteils dasselbe Ergebnis hat. AberCtrl+D
ist nicht EOF mit modernen Muscheln, nur ein gewöhnlicher Steuercharakter. Das Verhalten, wenn der Bearbeitungspuffer nicht leer ist, unterscheidet sich deutlich von dem, was mit einem EOF-Sonderzeichen geschieht.bash
et al. sind tatsächlich tut , ist eine TCC / LE autoexecuting Tastatur alias, wie diese , wobei der Befehlsinterpreter (nicht die Konsole) erkennt die gewöhnliche TastenkombinationALT+F4
während der Zeilenbearbeitung und führt die ich im internenexit
Befehl als Antwort.stty -a
kehrticanon
(also nicht-icanon
). Ist Ihr KommentarWith most modern shells, the terminal is not in canonical input mode when the shell is interactively accepting input
zu diesem Zeitpunkt statistisch wirklich korrekt?Alt-Space . Dann C.
Ja, es ist etwas langsamer als Ctrl - D. Dies ist jedoch die Antwort auf genau das, wonach Sie suchen: die integrierte äquivalente Tastenfolge, mit der Sie die Eingabeaufforderung verlassen können, ohne den
exit
Befehl eingeben zu müssen . Keine Software von Drittanbietern erforderlich.Dies funktioniert möglicherweise nicht absolut identisch mit bash: bash meldet sich nur in einer leeren Befehlszeile ab. In Windows kann das Fenster dadurch geschlossen werden, auch wenn Sie bereits einen Teilbefehl eingegeben haben.
quelle
Sie können DOSKEY verwenden , um Makros in CMD.exe zu erstellen.
So erstellen Sie einen Makrotyp:
Auf diese Weise können Sie eine Taste an einen anderen Befehl binden.
Beispiel:
würde
e
an denexit
Befehl binden , also bei der Eingabe einese
in die Eingabeaufforderung eingeben, würde dies so aussehen eingebenexit
Ich bin mir nicht sicher, ob Sie CTRL- $nKombinationen als Makros verwenden können
quelle
cmd
nur als normale Befehle interpretiert, die darauf wartenEnter
, gedrückt zu werden. Das Aliasing von Strg-Z gegenüber "nur"e
oder " nur" bietet also keinen Vorteilx
.Problem mit Autohotkey behoben. (Ich kann keinen Kommentar hinzufügen.)
quelle
Es gibt jetzt ein Open-Source-Projekt mit dem Namen clink unter http://code.google.com/p/clink/ (bearbeiten: es wurde nach http://mridgers.github.io/clink/ verschoben ) die Windows-Eingabeaufforderung.
Es unterstützt die meisten Funktionen, einschließlich Befehlszeilenbearbeitung, Verlaufssuche, Vervollständigung von Registerkarten zusammen mit Vervollständigungsskripten usw. Es lohnt sich, dies zu überprüfen, und macht cmd viel weniger nervenaufreibend. ;]
quelle
Mit diesem AutoHotKey- Snippet können Sie den gleichen Effekt erzielen :
quelle