我想在每次关闭/注销时清除我的 shell 历史记录。
我知道如何手动清除历史记录,我知道如何在关闭会话/终端模拟器时自动清除历史记录。然而,这不是预期的行为。
我zsh
在 manjaro 上使用 wayland 和 sway。
我尝试过使用 .zlogout。但是,据我了解,这不起作用,因为它是针对登录 shell 的(我不知道是什么构成了登录 shell)。
我想在每次关闭/注销时清除我的 shell 历史记录。
我知道如何手动清除历史记录,我知道如何在关闭会话/终端模拟器时自动清除历史记录。然而,这不是预期的行为。
我zsh
在 manjaro 上使用 wayland 和 sway。
我尝试过使用 .zlogout。但是,据我了解,这不起作用,因为它是针对登录 shell 的(我不知道是什么构成了登录 shell)。
如果你碰巧使用
systemd
(据我所知,manjaro 应该是哪个),一个选择是一个简单的服务,它会成功并在停止时执行历史记录删除。然后使其依赖于default.target
:用户服务进入例如
~/.config/systemd/user/zsh-history-wipe.service
用于永久启用它并在运行后为当前会话激活它
由于所有服务均在上次注销或关闭时停止,因此 -
ExecStop
命令将最终运行。显然不适用于停电等情况。请注意,必须为用户禁用延迟!
您可以创建一个 shell 脚本来清除历史记录,并将其放置在注销或关闭时执行的位置。按着这些次序:
chmod +x script.sh
~/.config/sway/config
),将此命令添加到配置文件的末尾:exec /path/to/the/script.sh
就是这样!