当路径太长而无法在终端上容纳并换行时,以下提示将被破坏,您无法正确看到键入的内容。请看下面的截图:
这些是该.bashrc
设置的内容PS1
,这是 Ubuntu 提供的默认设置。
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
的$PS1
值为
echo "$PS1"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
有什么办法可以解决吗?
我已经看到了其他几个类似的问题,建议的解决方案是将有问题的部分包含在\[ \]
或 setcheckwinsize
中,但在我的情况下都不起作用。
如果有人想使用路径进行测试,则如下:
/home/dimitriv/Dropbox/personal/kastoria/2018-2019/προγραμματισμός στο διαδίκτυο/newslides
快速修复可能是
PS1
用PROMPT_COMMAND
脚本替换窗口标题设置部分。在
case "$TERM" in ... esac
你的块内.bashrc
,替换PS1=...
为