为什么最近的 Ubuntu 14.04 更新搞乱了我的 PS1 提示符?

为什么最近的 Ubuntu 14.04 更新搞乱了我的 PS1 提示符?

我最近使用软件更新更新了我的 Ubuntu 14.04。

这导致了一些问题。最初,由于 .bashrc 存在未知错误,我无法打开新的终端窗口,我不得不使用另一个 shell 删除 .bashrc 文件来修复它。在慢慢添加回 .bashrc 文件时,我现在的 PS1 提示设置出现了问题。

我已经用了一段时间了

git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; }
HOST='\033[02;36m\]\h'; HOST=' '$HOST
TIME='\033[01;31m\]\t \033[01;32m\]'
LOCATION=' \033[01;34m\]`pwd | sed "s#\(/[^/]\{1,\}/[^/]\{1,\}/[^/]\{1,\}/\).*\(/[^/]\{1,\}/[^/]\{1,\}\)/\{0,1\}#\1_\2#g"`'
BRANCH=' \033[00;33m\]$(git_branch)\[\033[00m\]\n\$ '
PS1=$TIME$USER$HOST$LOCATION$BRANCH
PS2='\[\033[01;36m\]>'

在我的 .bashrc 中显示时间、用户、主机、密码和 git 分支(以各种颜色)。

升级后,我在每个以前不存在的角色的开头都有一个奇怪的角色。某种小方框,里面有 4 个小数字!

在此输入图像描述

造成这种情况的原因是什么以及如何解决?

答案1

答案似乎是我需要在构造\[之前添加一个\033[,例如

前:

HOST='\033[02;36m\]\h'; HOST=' '$HOST

后:

HOST='\[\033[02;36m\]\h'; HOST=' '$HOST

在此输入图像描述

相关内容