当我在像 bash 这样的 shell 中时,如果我使用向上箭头浏览命令行历史记录缓冲区,它的行为方式是可预测的:按下向上键将转到我最近执行的命令。
在 Windows cmd.exe(“DOS”)shell 中,有时按向上箭头会转到最近的命令,有时会转到第二个最近的命令,甚至第三个最近的命令。有时,要访问我输入的最新命令,我实际上必须点击向下箭头!有时我必须按向下箭头两次!
这是什么逻辑?很长一段时间以来,它一直让我抓狂。
最佳答案
通过向上/向下箭头选择的命令是相对于最后选择的重复。
所以如果你已经执行了
line 1
line 2
line 3
line 4
然后按向上箭头 3 次并enter
将重新选择并执行第 2 行
从那里,您可以向下箭头一次重新选择第 3 行
,或按两次第 4 行
或向上箭头一次重新选择第 2 行
code>,第 1 行
两次
但是执行的新行将附加到列表中,如果您手动输入一行,选择器将再次移至列表底部。
如果该行与最后一个条目重复,则该行不会被输入到列表中,因此如果您愿意,您可以向上箭头并执行一千次,向上箭头两次将得到 (-第 1001) 输入命令。
关于windows - Windows 命令解释器中历史缓冲区的押韵或原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15666417/