Ctrl+a+d 退出终端?

Ctrl+a+d 退出终端?

我不知道我改变了什么,但如果我在终端上按下Ctrl+a+d(即同时按下三个键)终端就会被终止。这是打开gnome-terminalUbuntu并用作zsh默认登录 shell。

我检查了键盘快捷键gnome-terminal(在 GUI 上,在 下),并在我的主目录中Edit->Keyboard Shortcuts搜索了可能触发此不需要的快捷键的语句,但什么也没找到。bindkey

我非常确定这是新行为(过去几天),因为我经常Ctrl-a在终端上键入内容以转到行首,然后Ctr-d删除字符,如果我现在这样做,它会触发这个不需要的键盘捷径。

我最近安装了一些系统更新,但如果这些更新更改了快捷方式,我会感到惊讶。目前我不知道为什么会发生这种情况,所以任何帮助将不胜感激。

笔记:这仅发生在终端上。如果我在使用其他应用程序,Ctrl+a+d则不会触发任何退出命令。

答案1

如果在空行中键入 Ctrl+D,则表示该特定 shell 实例的文件结束 (EOF)。当 shell 收到 EOF 时,它将终止并且终端窗口将关闭。如果同时按下这些键,实际上与 Ctrl+A 然后 Ctrl+D 或反之亦然。

Ctrl-D 是退出 shell/终端窗口、从远程登录会话注销或发出输入结束信号(如果您运行的程序在运行时接受输入)的便捷方法。

答案2

Bash 有一个名为 IGNOREEOF 的内置变量,它可以防止 shell 因意外的 Ctrl+D 而关闭。看:如何防止 control+d 断开会话?

相关内容