我输入了一个命令。它失败了。我按下向上箭头,修改一些内容,然后再次输入...把它放在那里。
它用过的就像那样工作。现在更像是:我输入一个命令。它失败了。我按向上箭头,得到最后一个没有失败的命令,可能是“ls”或其他无用的命令,然后我再次手动输入整个命令。
发生了什么?它并不总是这样。但我要告诉你,这种行为已经改变很长时间了。至少几年前。我该如何让我的 bash 提示恢复理智?
答案1
对于我来说,它仍然可以按您描述的方式工作,但也许您需要在文件中寻找一些~/.bashrc
可以防止某些命令出现在历史记录中的东西,也许是如此处所述的东西:
http://blog.dhampir.no/content/avoiding-invalid-commands-in-bash-history
答案2
无论退出状态如何,它都会将命令保留在历史记录中。
检查 HISTIGNORE 的值:set | grep HISTIGNORE
当我故意测试一些失败的命令时,我以为自己疯了,但它们并没有出现在历史记录中。然后我意识到我有HISTIGNORE="?:??"
,它会忽略 1 和 2 个字母的命令(我正在测试 2 个字母的命令)。