putty 退出时 .bash_logout 未运行

putty 退出时 .bash_logout 未运行

我有一些脚本.bash_logout存档。当用户使用Ctrl+d或使用exit命令注销时,该脚本就会运行。如果有人直接关闭 putty 应用程序而不是从系统中注销,则.bash_logout不会运行。

任何人都可以帮助我如何运行,.bash_logout即使有人关闭腻子应用程序而不从系统注销?

答案1

在 .bashrc 中添加了以下函数和陷阱。exit_session当 shell 收到SIGHUP信号时,陷阱将触发该函数。

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

答案2

做不到。仅使用、或+.bash_logout来执行内容,意味着显式退出 shell。如果关闭终端模拟器,则会发送进程,并且 bash 不会运行。exitlogoutCtrldSIGHUP~/.bash_logout

bash(1)联机帮助页:

当登录 shell 退出时,bash从文件~/.bash_logout和中读取并执行命令/etc/bash.bash_logout(如果文件存在)。

你能做的最好的就是适应这个解决方案将脚本与trap命令映射。

相关内容