为什么 bash 有时只从历史记录中读取 # 注释的命令

为什么 bash 有时只从历史记录中读取 # 注释的命令

在我的 Arch Linux 机器 (5.2.15) 上,使用箭头键进行历史导航可以看到~/.bash_history以字符开头的命令#

在我的 Mac OS 计算机(bash 3.2.57)上,使用箭头键进行历史导航时看不到以~/.bash_history#字符开头的命令。

内置history函数具有相同的行为:它在 Arch 机器上看到这些命令,但在 OS X 上看不到。运行history -r不会导致注释命令显示,尽管我可以在~/.bash_history.

是什么导致了这种行为差异?如何在 Mac OS 上配置 bash,使其表现得像在 Arch Linux 上一样(以便我看到注释的历史条目)?

两台机器的 bash 配置非常相似:

苹果系统:

$ shopt -p | grep hist
shopt -s cmdhist
shopt -s histappend
shopt -u histreedit
shopt -u histverify
shopt -u lithist
$ echo $HISTCONTROL
ignorespace

拱:

$ shopt | grep hist
cmdhist         on
histappend      on
histreedit      off
histverify      off
lithist         off
$ echo $HISTCONTROL
ignorespace

相关内容