Bash 上一个命令 - 跳过历史记录中的相同命令

Bash 上一个命令 - 跳过历史记录中的相同命令

通过使用箭头键,可以将最后调用的命令填入命令行。但是,Bash 会调用所有先前的命令,而不仅仅是唯一的命令。

$./a.out       //oldest command called
$ gcc main.c
$ gcc main.c
$ gcc main.c   //latest command called
$              //4 strokes required to call ./a.out, altough 2 would be sufficient

如果历史列表中的过去命令相同,是否有办法忽略它们并自动调用/填充历史记录中的下一个唯一命令?

谢谢你!

答案1

是的,有。你可以使用 shell 变量 HISTCONTROL 来控制命令在历史记录中的保存方式,你只需输入以下行

HISTCONTROL=erasedups

在你的 .bashrc 中。(我更喜欢 erasedups 而不是 ignoreups,因为它总是将我输入的最后一个命令放在历史记录的顶部。这样,当我想重复我输入的最后一个命令时,我就不必查看。)

相关内容