パテが終了すると、.bash_logoutは実行されません。

パテが終了すると、.bash_logoutは実行されません。

一部のスクリプトがアーカイブされています.bash_logout。このスクリプトは、ユーザーがCtrl+dまたはコマンドを使用してログアウトしたときに実行されます。exit誰かがシステムからログアウトするのではなく、Puttyアプリケーションを直接閉じても.bash_logout実行されません。

.bash_logout誰かがシステムからログアウトせずにパテアプリケーションを閉じてもパテアプリケーションを実行する方法を教えてください。

答え1

.bashrcに次の機能とトラップが追加されました。トラップは、exit_sessionシェルが信号を受信するとこの機能をトリガーします。SIGHUP

exit_session() {
    . "$HOME/.bash_logout"
}
trap exit_session SIGHUP

答え2

できません。 、または+を使用して.bash_logoutコンテンツを実行することは、明示的にシェルを終了することを意味します。端末エミュレータを閉じると、プロセスが送信され、bashは実行されません。exitlogoutCtrldSIGHUP~/.bash_logout

bash(1)マンページ:

ログインシェルが終了したら、bashファイルからコマンドを読み込み、~/.bash_logout実行します/etc/bash.bash_logout(ファイルがある場合)。

あなたができる最善はこのソリューションに適応スクリプトをtrapコマンドにマップします。

関連情報