シェルを終了する前に確認を要求し、確認が拒否された場合にシェルが終了しないようにする簡単な方法はありますか?これは、トンネルで使用される SSH セッションが誤って終了するのを防ぐのに役立ちます。
問題は、trap ... EXIT
トラップを完成した後もまだそこにいるということです。これまで私が見つけた最も有望な解決策は次のとおりです。トラップを使用して終了を確認する、ctrl + cについて説明しますが、ctrl + dでも機能しているようです。
ベストアンサー1
set -o ignoreeof
EOF
これにより、対話型シェルは()を無視しますCtrl+D。
シェルがbash
印刷されます
Use "exit" to leave the shell.
を押すとCtrl+D。
IGNOREEOF
シェル変数を正の整数値に設定することもできます。この値は、Ctrl+Dシェルが実際に終了する前に押す必要がある回数を決定します。これset -o ignoreeof
の効果はbash
同じ設定ですIGNOREEOF=10
(その逆も同様)。
シェルignoreeof
オプションはPOSIXオプションであり、すべてのPOSIX様シェルで利用可能でなければなりません。
関連: