CTRL+Dでログアウトしたくないんです

その昔、SunOS 4.1.XでUnixを覚え立ての頃にシェルで以下を入力すると、CTRL + Dでログアウトできなくなって感動した記憶がある。

# set ignoreeof

* ignoreoff -> ignoreeofに修正

SunOS 4.1.Xでは確かデフォルトがCシェルだったのでこれでOKだった。当時、仕事で使っていた別のサーバでは、Interactive UnixというマイナーなUnixが積んであって、そこではデフォルトがKシェルだったので、また違う仕込みをしたはずなんだけど、そっちは覚えていない・・・。Interactive Unixは、確かその後Sunに買収されて一部の機能がSolarisに取り込まれていったはずなんだけど、ここら辺は記憶があやふや。

まあそれはいいとして、Linuxではどうかというと、bash使いの場合上記では勿論うまくいかない。んで、.bash_profileなんかに以下を登録しておく。

.bash_profile

export IGNOREEOF=1

'1'というのは、CTRL + Dを1回でログオフという意味。3回でログオフしたい場合は3をセットすればよろしい。

.bash_profile

export IGNOREEOF=3

.bash_profileにセットしたら早速読み込んで実験。3回つづけてCTRL+Dを押してみる。

# source ./.bash_profile
#
# Use "logout" to leave the shell.
# Use "logout" to leave the shell.
# Use "logout" to leave the shell.
# logout

あわててCTRL + Dを何度も連打してしまう、あなたに。自分だ。