使用终结者终端模拟器禁用 CTRL-D 关闭窗口)

使用终结者终端模拟器禁用 CTRL-D 关闭窗口)

我经常同时登录多个 SSH 会话。要从多个会话注销,我按CTRL+ d,直到回到本地计算机。

但是,有时我按太多次,我的终端就会退出。

有没有办法让CTRL+d无法关闭我的终端?

我正在使用终结者作为我的终端模拟器。

答案1

您还可以在 bash 中禁用 eof:

set -o ignoreeof

答案2

您可以IGNOREEOF在 bash 中使用环境变量。因此,在它真正退出 shell 之前export IGNOREEOF=42,您必须按Ctrl+D四十二次。

POSIX也set有一个-o ignoreeof设置。

答案3

Ctrl-D EOF 字符由 shell 解释,而不是由终端仿真器专门解释。其他答案已经涵盖了 bash 设置,尽管其他 shell 有所不同。

对于 C-shell(例如 tcsh),您可以将其添加到 tcshrc 文件中:

# Prevent accidental logouts completely
set ignoreeof
# Just prevent the first two, and allow the third
set ignoreeof=3

对于 Fish shell,Ctrl-D 行为由键绑定控制。默认设置为delete-or-exit,因此您可以将 的键绑定设置为\cddelete-char支持删除。

更多详细信息请参见鱼Github问题(例如,在3.0之前的版本中,您需要将 添加bind到名为 的函数中fish_user_key_bindings,在3.0之后,您可以将其放入 中~/.config/fish/config.fish)但总结一下:

bind \cd delete-char  # Don't exit on accidental Ctrl-D
bind \cd\cd\cd delete-or-exit  # Exit on the third one

相关内容