我通常使用向上箭头键滚动浏览终端中的先前命令。我注意到在过去的几个月里,当我这样做时,我没有得到以前的命令,而是得到了“错误行为”。例如,当我按向上箭头键时,它可能会输入乱码和明显随机的空格以及我的命令的一小部分。有人对可能造成这种情况的原因有任何想法吗?有时有效,有时无效。它开始变得非常烦人。(仅供参考,我正在使用 yosemite 和 osx,如果有任何相关性的话)
小智 7
我知道这是一个老问题,但我最近遇到了同样的问题。问题可能出在您的 PS1 提示符上。您可能没有完全包含非打印字符\[ ... \]
解决方法:
echo $PS1- 这将显示您当前的 PS1 设置。\[和\]中并进行设置。例如PS1='\[\e[95m\]\u \[\e[93m\]\w:\[\e[92m\]\$'例子:
我的 PS1 故障是\[\e[95m\]\u \[\e[93m\]\w: \e[92m\]\$
我错过了开口外壳,\[之后\w:
我修正后的PS1是\[\e[95m\]\u \[\e[93m\]\w:\[\e[92m\]\$
就我而言,在我将 .bashrc 更改为使用“HISTSIZE=-1”后不久,向上箭头就在 OSX 中停止正常工作。我未经证实的猜测是 bash 版本太旧,无法处理 -1 选项,因此 bash 完全停止记录历史记录。我的向上箭头键被正确解释,但没有历史记录可供检索。一旦我更改了 HISTSIZE,新终端中的向上箭头(和历史命令)就再次开始工作。
需要明确的是,我不能说您的问题是否源于同一原因。我不记得历史中出现过乱码,尽管我确实看到了一些奇怪的行为,例如错误的“”。以某种方式出现在 ls 命令中。不过,如果有人在使用向上箭头检索以前的 bash 命令时遇到问题,那么似乎值得一试。尝试检查您的 HISTSIZE 设置,和/或直接调用历史命令,以确保您有向上箭头可检索的历史记录。
| 归档时间: |
|
| 查看次数: |
3320 次 |
| 最近记录: |