我在使用bash提示符和换行时遇到了问题。如果我使用静态提示符
export PS1="test$ "; ### Works perfectly
我可以在命令行中输入长行文本,它们能够正确地换行。在历史记录中上下滚动也能正常工作。 当使用动态提示时,例如:
export PS1="\u@\h(\W)$ "; ### Long lines don't wrap at all
长行文本被打乱了。找到了一个解决方案,可以使长行正确换行。(http://hintsforums.macworld.com/showthread.php?t=17068)。
export PS1="\[\u@\h(\W)$ \]"; ### Long lines wrap while typing, but not while scrolling up/down through previous commands
然而,当在命令提示符历史记录中向上/向下滚动时,行并不换行。我不知道如何用言语解释这种行为,但我会尝试 - 当我向上滚动(上箭头键)时,最后一个命令的一半被吃掉了,光标停在了行本应换行的位置中间。
这个问题有什么解决方案?
我记得在许多Linux发行版中,动态提示正常工作(这是在我的工作场所)。
敬礼,
JP
\[\]
用于包装非打印序列,如颜色代码。 - Dennis Williamson