$ echo $HISTCONTROL
ignoreboth
$ echo a
a
$ echo b
b
$ echo b
b
$ echo a
a
$ history 4
1047 echo a
1048 echo b
1049 echo a
1050 history 4
如您所见echo a,出现两次并echo b出现一次。
您可能正在寻找“擦除”选项。
$ echo $HISTCONTROL
ignoreboth:erasedups
$ echo c
c
$ echo d
d
$ echo d
d
$ echo c
c
$ history 4
1076 echo $HISTCONTROL
1077 echo c
1078 echo d
1079 history 4
选项“ignoreboth”和“ignoredups”仅防止将前面命令的重复项添加到历史记录中。较早的副本无效。
如您所见
echo a
,出现两次并echo b
出现一次。您可能正在寻找“擦除”选项。
这里两者
echo c
都只echo d
出现一次。尝试使用 ignoreups 而不是 ignoreboth,将其添加到 /etc/profile 文件中。
唯一地记录每个新命令是很棘手的。首先,您需要添加
~/.profile
或类似:然后你需要添加到
~/.bash_logout
: