.bashrc
AWS 附带的 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 myApp
并pm2 list
反复使用向上箭头键,命令缓冲区现在包含近一百行这样的代码。
可能出了什么问题?
答案1
它按预期工作。ignoredups
暗示ignoreboth
,如果命令与紧接的前一个命令相同,则不会将其添加到历史记录中。 它不会进一步回顾历史记录。来自手册:
值为“
ignoredups
”会导致与前一个历史记录条目匹配的行不被保存。
因此,这将foo
在历史记录中添加两次:
$ foo
$ bar
$ foo
但这也一样:
$ foo
$ bar
$ foo
$ foo
最后一条命令foo
不会添加到历史记录中,因为前一条命令是foo
。erasedups
结合使用:
值为“
erasedups
”会导致在保存当前行之前从历史记录列表中删除与当前行匹配的所有先前的行。
所以:
HISTCONTROL=ignoreboth:erasedups