我在给终端的提示着色时发现了一个恼人的错误。如果我将提示设置为彩色提示,例如
export PS1='\e[1;34m[\e[0;31m\D{%Hh%M} \e[0;32m\u\e[0m@\e[0;35m\h\e[0m:\e[0;36m\w\e[1;34m]\e[0m $ '
然后当我在输入行中获得一些大小时它会开始中断:
换句话说,当我的线路达到某个极限时,它就会重新启动!一旦我再次填充相同的行,那么它运行良好,转到下一行。
也有人见过这个问题吗?你有解决方案吗?问题也发生在iTerm。
答案 0 :(得分:5)
这是StackOverflow中Mac Terminal.app annoying bug - How to fix it?的副本。问题是您必须在方括号\[ … \]
中包围终端控制字符,以便在计算命令提示符的长度时bash shell不计算它们。
由于这是一个通用的shell /终端问题,并不是特定于Mac OS X或终端,因此应该将其迁移到StackOverflow并复制另一个问题。 (但是,我没有特权去做。)