禁止重复命令历史记录的设置在哪里?

禁止重复命令历史记录的设置在哪里?

假设我输入以下命令序列:

$ cd
$ ls
$ ls

当我按两次返回历史记录时up,我最终得到cd, 而不是ls

我注意到情况并非总是如此,因此可能是某处的某些 bash 设置。是哪一个?

答案1

是由HISTCONTROL变量控制的。如果包含ignoredups,则重复的命令将不会保存在历史记录中。如果没有这个字符串,它们将被保存。这通常会在.profile或中设置.bashrc,使用类似

export HISTCONTROL=ignoredups

HISTCONTROL中可以使用的其他值(可以使用多个,用 分隔:

  • 忽略空间任何以空格开头的命令都不会添加到历史记录中
  • 已擦除重复的命令将从历史记录中删除,因此历史记录仅包含最新的命令
  • 忽略两者相同ignoredups:ignorespace

答案2

相关内容