![为什么最近的 Ubuntu 14.04 更新搞乱了我的 PS1 提示符?](https://linux22.com/image/61568/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9C%80%E8%BF%91%E7%9A%84%20Ubuntu%2014.04%20%E6%9B%B4%E6%96%B0%E6%90%9E%E4%B9%B1%E4%BA%86%E6%88%91%E7%9A%84%20PS1%20%E6%8F%90%E7%A4%BA%E7%AC%A6%EF%BC%9F.png)
我最近使用软件更新更新了我的 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