如何在注销时清除历史记录

che*_*sum 2 bash history

我尝试添加history -c~/.bash_logout但似乎不起作用。


添加:

通过将这些行添加到我的~/.bashrc(从这里引用)中,我取得了成功

unset HISTFILE
export LESSHISTFILE=/dev/null
Run Code Online (Sandbox Code Playgroud)

我仍然不知道为什么history -c方法不起作用。

han*_*ine 9

通过内置命令set -o或环境变量可以使用许多历史设置,请参阅bash 关于其历史工具的文档。因此,接下来HISTFILE=/dev/null将让 bash 将历史保存到空白中。

  • 我有时也使用 `kill -9 $$`,这意味着更少的输入,但并不好。$$ 是当前进程,即shell 本身,强制kill 也会阻止它写入`$HISTFILE`。然而,这也阻止了它进行其他清理,并且可以更早地(在离开 shell 之前)设置 `HISTFILE=/dev/null`,所以人们不会意外地以错误的方式退出 shell。另外,任何中间历史保存也将转到 /dev/null。 (2认同)