通过使用箭头键,可以将最后调用的命令填入命令行。但是,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,因为它总是将我输入的最后一个命令放在历史记录的顶部。这样,当我想重复我输入的最后一个命令时,我就不必查看。)