对非登录 shell 运行“注销脚本”

对非登录 shell 运行“注销脚本”

我有一个.bash_logout脚本,已放入流浪汉虚拟机的用户(正如您已经猜到的那样,使用流浪汉)我用于开发。

该脚本将我所有重要的点文件复制到主机操作系统和来宾操作系统之间共享的目录中,以便我可以轻松地将它们签入我的 Git 存储库、跟踪更改,并更轻松地继承我在将一台虚拟机配置到另一台虚拟机。

我遇到的问题(您可能也猜到了)是脚本永远不会运行用户,自从su而不是登录为

无论如何,每次通过ing 到另一个用户exit输入 shell时都可以运行脚本吗?su我想,从技术上讲,这不是一个注销脚本,但在精神上几乎是一样的。

答案1

您可以像这样创建一个登录 shell su

su - [user]

如果您不想创建登录 shell,可以使用退出陷阱。

trap_exit() {
    . "$HOME/.bash_logout"
}
trap trap_exit EXIT

将上述代码放入用户的.bashrc文件中。

相关内容