¿Hay una pulsación de tecla equivalente para salir de un símbolo del sistema en Windows (lanzado a través de Inicio-> Ejecutar: cmd) al modo de espera bash de Ctrl- dpara evitar la necesidad de escribir exit
para abandonar el shell?
¿Hay una pulsación de tecla equivalente para salir de un símbolo del sistema en Windows (lanzado a través de Inicio-> Ejecutar: cmd) al modo de espera bash de Ctrl- dpara evitar la necesidad de escribir exit
para abandonar el shell?
Respuestas:
No. CtrlDon * nix genera un EOF, que varios shells interpretan como en ejecución exit
. El equivalente para EOF en Windows es CtrlZ, pero cmd.exe no interpreta esto especialmente cuando se escribe en el indicador.
bash
et al. en realidad lo que está haciendo es un alias de teclado de ejecución automática TCC / LE , como este , donde el intérprete de comandos (no la consola) reconoce la combinación de teclas normales ALT+F4
durante la edición de línea y ejecuta el exit
comando incorporado en respuesta.
stty -a
devuelve icanon
(es decir, no -icanon
). ¿Su comentario es With most modern shells, the terminal is not in canonical input mode when the shell is interactively accepting input
realmente estadísticamente correcto en este momento?
Alt- Space. A continuación, C.
Sí, es un poco más lento que Ctrl- D. Pero esta es la respuesta a exactamente lo que está pidiendo: la secuencia de pulsaciones de teclas equivalente incorporada que le permite salir de la solicitud sin necesidad de escribir el exit
comando. No se necesita software de terceros.
Esto puede no funcionar absolutamente idéntico a bash: bash solo cerrará sesión en una línea de comando vacía. En Windows, esto puede cerrar la ventana, incluso si ya ha escrito un comando parcial en ella.
Puede usar DOSKEY para crear macros en CMD.exe.
Para crear un tipo de macro:
DOSKEY [macroname]=[command(s)]
De esa manera puede vincular una clave a otro comando.
Ejemplo:
DOSKEY e=exit
se uniría e
al exit
comando, por lo que cuando ingrese un e
mensaje en el indicador, sería como ingresar unexit
No estoy seguro de si puedes usar CTRL, $naunque combinaciones como macros
cmd
solo los interpreta como comandos normales, a la espera de Enter
ser presionados, por lo que no hay ninguna ventaja de alias Ctrl-Z versus just e
o x
.
Ahora hay un proyecto de código abierto llamado clink en http://code.google.com/p/clink/ (editar: se trasladó a http://mridgers.github.io/clink/ ): trae la funcionalidad de línea de lectura de Unix a El símbolo del sistema de Windows.
Admite la mayoría de las funciones, incluida la edición de la línea de comandos, la búsqueda del historial, la finalización de pestañas junto con los scripts de finalización, etc. Vale la pena echarle un vistazo, hace que cmd sea mucho menos. ;]
Puede obtener el mismo efecto con este fragmento de AutoHotKey :
; Close Command Prompt when pressing Ctrl+D
#IfWinActive, Command Prompt$
^d::
; First send ESC, in case we're in select mode.
Send {Esc}{Esc}exit{Enter}
#IfWinActive
Ctrl+D
de hecho es solo un carácter ordinario y no un carácter especial EOF. Los shells se unenCtrl+D
a una acción GNU Readline o ZLE que existe (pero solo si el búfer de edición de línea está vacío), por lo que el comportamiento es principalmente el mismo resultado. Pero noCtrl+D
es EOF con proyectiles modernos, solo un personaje de control ordinario. El comportamiento cuando el búfer de edición no está vacío es notablemente diferente de lo que sucede con un carácter especial EOF.