在 Windows 上,是否有一个等效的按键用于退出命令提示符(通过开始->运行:cmd 启动)到 bash 待机Ctrl-d以避免需要键入exit
才能离开 shell?
答案1
否。CtrlD在 *nix 上会生成 EOF,各种 shell 会将其解释为正在运行exit
。Windows 上 EOF 的等效项是CtrlZ,但 cmd.exe 在提示符下输入时不会对此进行特殊解释。
答案2
Alt- Space。 然后,C。
- (嗯,这在我的系统上是可行的,其中“C”选择名为“关闭”的选项。可能需要进行一些变化,正如本答案后面进一步讨论的那样。)
Ctrl是的,它比-慢一点D。但这正是您所要求的答案:内置等效按键序列,让您无需键入命令即可退出提示exit
。无需第三方软件。
这可能与 bash 的工作方式不完全相同:bash 只会在空命令行上注销。在 Windows 中,即使您已经在窗口上输入了部分命令,这也可以关闭窗口。
关于变体的更多说明:
- 请注意,变化可能是Alt- Space(弹出 Windows 上下文菜单),然后up arrow(选择底部选项,通常可能是关闭/退出),然后Enter(选择突出显示的菜单选项)。
- 当然,特定按键序列是否适用于特定程序是一个细节问题,可能因不同的软件程序和不同的变体(如 Richard 的评论所述)而异(例如不同语言的发行版本)。但是,对于许多程序来说,这样的选项可能都是可用的。
- 这里提到的信息可以与许多设计用于在 Microsoft Windows 中运行的软件一起使用(包括与操作系统捆绑的软件和第三方软件),但是,即便如此,在依赖非常具体的行为之前,还是建议仔细进行和测试。
- 话虽如此,我接受理查德诺伊曼的有益反馈(在对这个答案的评论中),这就是为什么这个答案被编辑以包含一些关于潜在变化的信息。
答案3
已修复自动热键方法。(我无法添加评论。)
#IfWinActive, ahk_class ConsoleWindowClass
^d::
; First send ESC, in case we're in select mode.
Send {Esc}{Esc}exit{Enter}
#IfWinActive
更新 2022-10-04
@RichardNeumann 写道它不起作用,所以我检查了自己的文件,它仍然有效。但我有另一个代码示例:
#IfWinActive ahk_class ConsoleWindowClass
^d::Send, exit {Enter}
#IfWinActive
对于cmd.exe
和 的作用相同powershell
。
答案4
在 Windows 10 中使用旧conhost.exe
终端,等效于Alt+ F4! 该选项由注册表项控制允许AltF4关闭并且默认启用。请参阅Windows 10 中的命令提示符可以通过 Alt+F4 关闭如何禁用它(这就是你不想)
的情况下Windows 终端更简单,只需按Ctrl++即可ShiftW关闭当前选项卡/窗格。它适用于任何 shell,如 cmd、powershell、bash……Windows Terminal 更好、更快、性能更高、完全支持 Unicode 和 POSIX ANSI 序列,并且完全可配置,因此没有理由再使用旧终端conhost.exe
。甚至 Windows 11 也将 Windows Terminal 设为默认控制台