如何忽略 bash 历史记录中的重复项

如何忽略 bash 历史记录中的重复项
Centixels-MacBook-Pro:~ Centixel$ /* some command */
Centixels-MacBook-Pro:~ Centixel$ ./a.out
Centixels-MacBook-Pro:~ Centixel$ ./a.out
Centixels-MacBook-Pro:~ Centixel$ ./a.out
Centixels-MacBook-Pro:~ Centixel$ 

我希望能够/* some command */通过按两次上键来访问,而不是按 4 次或 N 次上键。这可以在设置中实现吗?我讨厌通过重复命令按上键一百万次来访问上一个命令。

如果这是重复的问题,请指教我,我不确定如何提问。提前感谢您的帮助。

Centixels-MacBook-Pro:~ Centixel$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19)
Copyright (C) 2007 Free Software Foundation, Inc.

编辑:

# .bashrc

# User specific aliases and functions
. .alias
alias ducks='du -cks * | sort -rn | head -15'

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

PATH=$PATH:/home/username/bin:/usr/local/homebrew
export PATH
export HISTCONTROL=ignoreboth:erasedups

这是我编辑的.bashrc文件(在我的主目录中),并且更改似乎尚未生效,我也重新启动了我的终端。

答案1

将其添加到您的.bashrc文件中:

export HISTCONTROL=ignoredups

根据 bash 手册页:

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

相关内容