Answers:
IGNOREEOF
如果要使用,您正在寻找环境变量bash
:
IGNOREEOF
在收到EOF字符作为唯一输入时,控制交互式外壳的操作。如果设置,则该值是连续的EOF字符数,必须在bash退出之前将其作为输入行上的第一个字符键入。如果变量存在但没有数字值或没有值,则默认值为10。如果变量不存在,则EOF表示输入到Shell的末尾。
因此export IGNOREEOF=42
,您必须先按Ctrl+D四十二次才能真正退出外壳。
POSIX set
也有一个-o ignoreeof
设置。因此,请查阅您外壳程序的文档,以查看您的外壳程序是否具有此功能(并应该),并检查其确切的语义。
IGNOREEOF
是EOF在最终接受之前被忽略的次数。因此,在上面的示例中,如果您是export IGNOREEOF=42
,则需要按CONTROL-D 43次以退出(而不是42
如果您确实不喜欢使用Ctrl-d,则可以eof
在终端控件中删除该字符。
stty eof undef
此后,Cntl-d将是任何其他控制字符。
csh
,您可以set ignoreeof