2016-01-14 69 views
0

我做了我自己的.bashrc(下面的代码的一部分),并在测试中按下了向上/向下的箭头:我发现 命令的历史覆盖了行的静态文本或离开最后的命令并重新打印它。如何解决这个问题?Linux bash行覆写本身

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}\[email protected]\h${RESTORE} ${RKGIT}Git ${RKPATH}\W\ ${RKBRANCH}$(parse_git_branch) \n ${RKGIT}-- $ ${RESTORE} ' 
    fi 
+0

不要使用转义,如果你不知道自己在做什么。 – 123

+0

@ 123 yeap,我明白自己现在有很多逃跑的问题。谢谢。 – rikimaru2013

回答