在终结器(终端仿真器)中禁用CTRL-D窗口关闭


46

我经常通过多个SSH会话登录。要退出会话,请按CTRL+ d,直到返回本地计算机。

但是,有时我按一次太多,则终端退出。

有没有办法阻止CTRL+ d关闭我的终端?

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



3
可能如何
JdeBP

有关Zsh,请参见此问题
rgov

Answers:


50

您也可以在bash中通常禁用eof:

set -o ignoreeof


2
但是,如果您不加选择地执行此操作,则在通过ssh登录时也同样适用。
吉尔斯(Gillles)“所以-不要再邪恶了”

3
我正在使用终止符0.97。当我设置-o ignoreeof时,它将阻止ctrl -d(不退出)10次,并显示一条消息:使用“退出”离开外壳。在第11个ctrl-d上,它退出。
AAAfarmclub

天哪,谢谢!那个(偶然的末日故事)对我来说是一个巨大的烦恼。添加到〜/ .bashrc; 在Konsole中工作| xfce4终端| ... :-D
Victoria Stuart

@Gilles很好的建议,您对此有解决方案吗?
Gauthier

34

您可以IGNOREEOF在bash中使用环境变量。因此export IGNOREEOF=42,您必须按下Ctrl+D42次才能真正退出外壳。

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


4
四十三次:前四十二次被忽略,最后一个实际上退出。:-)
deltab 2014年

我认为四十三次将是多余的。肯定的set -o ignoreeof是更实用
ryekayo

3
但是,如果您不加选择地执行此操作,则在通过ssh登录时也同样适用。
吉尔斯(Gillles)“所以-不要再邪恶了”

但是每次打开终端时都必须编写命令,如何永久禁用它?
MycrofD 2014年

2
@MycrofD将此添加到您的.bashrc或中.profile
JanWarchoł2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.