当我在像bash这样的shell中时,如果我使用向上箭头来浏览命令行历史记录缓冲区,它会以可预测的方式运行:按下我最近执行的命令。
在Windows cmd.exe(“DOS”)shell中,有时按下向上箭头会转到最近的命令,有时会转到第二个最近的命令,甚至是第三个最近的命令。有时,为了获得我输入的最新命令,我实际上必须按 down 箭头!有时我必须按下向下箭头两次!
这是什么逻辑?很长一段时间它一直让我感到沮丧。
答案 0 :(得分:4)
上/下箭头选择的命令相对于最后选择的重复。
所以,如果你已经执行了
line 1
line 2
line 3
line 4
然后按向上箭头3次,enter
将重新选择并执行line 2
从那里,您可以向下箭头一次,为line 3
重新选择line 4
或两次,为line 2
重新选择一次,对line 1
重复一次1} p>
但是执行的新行被附加到列表中,如果您手动输入一行,选择器将再次移动到列表的底部。
如果该行与最后一个条目重复,则不会将该行输入到列表中,因此如果您愿意,可以向上箭头并执行一千次,并且向上箭头两次将获得( - 输入1001st)命令。