Ctrl + D でターミナルを閉じないようにする

通常の「ターミナル」で作業している時とか、docker exec でシェルに入っている時とかに Ctrl + D を押下すると、シェルからログアウトされてしまう。

Ctrl + D は EOF (End of File)、ファイルの終わりを示す特殊文字で、標準入力の終了を示すことから、シェルのログアウト、ターミナルの終了、といった挙動に繋がっている。

Ctrl + C などとの押し間違いでターミナルが落ちてしまうと辛いので、次の環境変数を設定しておくことで回避できるようになる。

export IGNOREEOF=10

コレにより、Ctrl + D を10回押してもログアウトはされず、11回目の押下でようやくログアウトとなる。

$ set -p ignoreeof

というコマンドでも良いようだが、Mac のターミナルではコレは効かなかった。とりあえず環境変数 IGNOREEOF が楽そうなので、入れておくとしよう。