我在~/.localsh文件中放置了以下内容,以便在使用git时自定义bash提示。
基本上,我想在终端中显示当前的分支。
Gitk工具显示绿色背景和黑色前景的分支,所以这就是我要做的。
我的功能正常,但是当我按下键盘上的向上箭头,在以前的命令中向后滚动时,它会被覆盖。
这是以前的事,当你不结束一个颜色序列与[\e[0米]。
现在发生在我身上是因为调用了getgitbranch函数。我认为这与终端不知道提示有多长有关。
所以,问题是…
如何在bash提示中正确地使用动态元素,并且在使用向上箭头时不将其连接起来?
function getgitbranch()
{
git branch | grep "^\*" | cut -c3-
}
function blabla()
{
PS1=""
PS1="$PS1\[\e[0;30m\]\[\e[42m\]\[\$(getgitbranch)\]\[\e[0;49m\]\[\e[0m\] "
PS1="$PS1\[\e[1;35m\][\[\e[0m\]"
PS1="$PS1\[\e[1;33m\]\w\[\e[0m\]"
PS1="$PS1\[\e[1;35m\]]\[\e[0m\]"
PS1="$PS1 \[\e[1;31m\]>\[\e[0m\] "
export PS1
}