ori*_*ami 2 linux bash kde terminal konsole
使用 KDE Konsole 作为 bash 终端 我想在关闭终端(选项卡/应用程序)时清除历史记录,请注意,当 Konsole 仍然打开时(以进行搜索),我确实需要 bash 历史记录;我想在终端关闭后将其清除。
我经常长时间使用终端并在关闭终端之前清除历史记录,我正在寻找一种自动清除历史记录的方法。
我发现了一个关于如何清除历史记录或如何禁用它的类似问题,例如如何在不保存历史记录的情况下关闭终端?,但是我发现对我的情况没有任何帮助。这里的区别在于我在终端运行时确实需要历史文件,在运行unset HISTFILE该命令后设置禁用历史文件并且不清除历史文件本身。请注意,会话运行时需要历史文件,但当它关闭时需要清除它。
当终端关闭时,我们如何清除 bash 历史记录?
擦除 .bash_history
cat /dev/null > .bash_history
Run Code Online (Sandbox Code Playgroud)
或者
>.bash_history
Run Code Online (Sandbox Code Playgroud)添加一个陷阱 .bashrc
trap "history -c" EXIT
Run Code Online (Sandbox Code Playgroud)该bash文件(见man bash)包括本关于历史,
Shell 变量以下变量由 Shell 设置:
[...]
HISTFILE保存命令历史的文件的名称 [...]。默认值为~/.bash_history。如果未设置,则在 shell 退出时不会保存命令历史记录。
因此,要在会话期间允许命令历史记录但防止其被保存,只需取消设置此变量即可。您可以在任何或所有.bash_profile,.profile或 中执行此操作.bashrc:
unset HISTFILE
Run Code Online (Sandbox Code Playgroud)