【问题标题】:Unable to clear Bash terminal history in OS X El Capitan无法清除 OS X El Capitan 中的 Bash 终端历史记录
【发布时间】:2016-01-31 07:41:09
【问题描述】:

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

历史清除仅适用于当前标签。打开另一个标签后,可以访问历史记录。

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

可能与新的.bash_sessions 功能有关。有什么方法可以像往常一样使用history -c(清除每个 bash 实例的历史记录)?

谢谢。

【问题讨论】:

  • Ask Different 是一个面向 Apple 爱好者和高级用户的问答网站。
  • ...并质疑这与编程无关,这是 StackOverflow 上的唯一主题。

标签: macos bash terminal osx-elcapitan


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我用过:

    cat /dev/null > ~/.bash_history && history -c
    

    我使用了this主题,也许你可以在那里找到更多信息?

    【讨论】:

      【解决方案3】:

      简而言之:您在终端中的 bash 历史记录位于 ~/.bash_history 中,或者如果您在 ~/.zsh_history 中使用 oh-my-zsh。只需打开文件并删除您想要的特定命令行。我正在使用 vim,但您可以使用任何 IDE 或记事本打开它并保存更改。

      【讨论】:

        猜你喜欢
        • 2017-01-18
        • 2017-05-25
        • 1970-01-01
        • 2020-01-07
        • 2016-01-27
        • 1970-01-01
        • 2011-10-06
        • 2017-02-27
        • 2015-11-05
        相关资源
        最近更新 更多