Linux bash行覆盖自身

时间:2016-01-14 13:27:57

标签: linux bash

我制作了自己的.bashrc(下面代码的一部分)并通过向上/向下按下箭头进行测试:我发现 命令历史覆盖行的静态文本或离开最后一个命令并在其上打印新的命令。如何解决?

function parse_git_branch {
  git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}

RESTORE=$(echo -en '\033[0m')
RKNAME=$(echo -en '\033[38;5;106m')
RKPATH=$(echo -en '\033[38;5;229m')
RKBRANCH=$(echo -en '\033[38;5;44m')
RKGIT=$(echo -en '\033[38;5;250m')

pathToFolder=$PWD;

if [[ $pathToFolder =~ .*_GitRepo.* ]]
then
    PS1='${RKNAME}\u@\h${RESTORE} ${RKGIT}Git ${RKPATH}\W\ ${RKBRANCH}$(parse_git_branch) \n ${RKGIT}-- $ ${RESTORE} '
    fi

1 个答案:

答案 0 :(得分:0)

解决我的问题是:

  

但是,我遇到了同样的换行问题。修复是在ANSI转义周围插入[和],以便shell知道不要将它们包含在换行计算中。

谢谢,@吉利斯链接Why is this bash prompt acting strangely/disappearing, and how do I fix it (OS X)?