我在这里遇到了与此线程类似的问题,命令行覆盖了该行,而我的向上箭头覆盖了所有文本。
当我跑步时
$ shopt | grep checkwinsize
checkwinsize on
看来这个问题是由于没有包装我的 bashrc 的 ps1 部分的正确部分引起的。 [] 中的脚本。我尝试遵循其他线程中的解释,但似乎没有帮助。
这是我的 bashrc 的一部分。脚本。
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
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
我的bashrc有什么问题吗?哪个脚本导致了这个问题?
我正在运行 Ubuntu 16.04.4 Cinnamon 版本 3.6.7 和 4.13.0-36-generic 内核。
谢谢。
答案1
我无法重现此内容或看到您的脚本有任何问题,尽管我可能遗漏了一些东西。
我首先要确保问题实际上出在 bashrc 的这一部分。运行“echo $PS1”以检查提示是否在其他地方被修改。为了确定,运行后看看问题是否仍然出现:
bash -noprofile -norc
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
如果问题仍然存在,罪魁祸首可能是您的终端模拟器。检查“$TERM”的值对于您使用的终端仿真器是否正确,然后尝试使用其他仿真器。您也可以尝试重新初始化终端并手动设置 PS1。假设您正在使用 xterm:
TERM=xterm
tset $TERM
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"