HISTCONTROL=ignoreboth 不起作用

HISTCONTROL=ignoreboth 不起作用

.bashrcAWS 附带的 Ubuntu 16.04 标准发行版中的默认设置有以下几行:

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

但是,它似乎不起作用。我一直在运行pm2 restart myApppm2 list反复使用向上箭头键,命令缓冲区现在包含近一百行这样的代码。

可能出了什么问题?

答案1

它按预期工作。ignoredups暗示ignoreboth,如果命令与紧接的前一个命令相同,则不会将其添加到历史记录中。 它不会进一步回顾历史记录。来自手册

值为“ ignoredups”会导致与前一个历史记录条目匹配的行不被保存。

因此,这将foo在历史记录中添加两次:

$ foo
$ bar
$ foo

但这也一样:

$ foo
$ bar
$ foo
$ foo

最后一条命令foo不会添加到历史记录中,因为前一条命令是fooerasedups结合使用:

值为“ erasedups”会导致在保存当前行之前从历史记录列表中删除与当前行匹配的所有先前的行。

所以:

HISTCONTROL=ignoreboth:erasedups

相关内容