无法在OS X El Capitan中清除Bash终端历史记录

Psy*_*ity 4 macos bash terminal osx-elcapitan

升级到OS X El Capitan后(至少我注意到更新后),在bash中,history -c命令不能正常工作.

历史记录清除仅适用于当前选项卡.打开另一个选项卡后,可以访问历史记录.

我知道可能删除.bash_history文件但实际上我对这个新行为感到好奇吗?

也许它与新.bash_sessions功能有关.有没有history -c像往常一样使用的方法(清除每个bash实例的历史记录)?

谢谢.

Tod*_*obs 16

HISTFILE不是〜/ .bash_history

在OS X上,shell变量HISTFILE似乎没有指向〜/ .bash_history.相反,它指向某种临时文件,如:

/Users/$LOGNAME/.bash_sessions/7F058D96-4161-4F7C-B9F7-CFFEB43C35B2.historynew

因此,history -c; history -w清除当前历史记录缓冲区,但实际上不会清除磁盘上的历史记录文件.我不清楚如何/何时将HISTFILE写入〜/ .bash_history,因此您可能需要手动清除该文件.例如:

history -c; history -w; rm ~/.bash_history
Run Code Online (Sandbox Code Playgroud)