bashではCtrl-○でいろいろな機能が使用できますが、たまに間違って押してしまうと困ってしまう機能があります。

以前紹介した、Ctrl-sの端末ロックを無効にするもその一つですが、 今回はCtrl-dでのログアウトです。Ctrl-Sの端末ロックはCtrl-qで解除できるのでまだよいですが、Ctrl-dは有無も言わさずログアウトしてしまうので、操作ミスが致命的になる場合があります。

そこで Ctrl-dを押しても何回か警告を表示する方法を紹介します。設定は簡単で、環境変数 IGNOREEOFに警告回数を設定するだけです。

$ IGNOREEOF=3

こうすることで、Ctrl-d押下時に、以下のように3回警告が表示され、4回目でログアウトします。

$ Use "logout" to leave the shell.
$ Use "logout" to leave the shell.
$ Use "logout" to leave the shell.
$ logout

ちなみに上記はsshログインで、コンソール上では"logout"ではなく"exit"と表示されるようです。