我在〜/ .localsh文件中添加了以下內容,以便在使用git時自定義我的bash提示符。bash中的動態元素PS1
基本上我想得到當前分支顯示在我的終端。 gitk工具顯示帶有綠色背景和黑色前景的分支,所以這就是我想要做的。
我的工作原理是什麼,但是當我按下鍵盤上的向上箭頭以回滾之前的命令時,它會被覆蓋。
這個東西已經發生在你之前,我沒有用[\ e [0m]結束顏色序列。 因爲調用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
}
如果你使用的是git bash completion(這非常棒),你可以在其中放入$(__ git_ps1),並且更強健地獲取分支名稱 - 如果你是中等基礎的等等 - 作爲反饋以及您的工作樹狀態(修改,分階段修改)的指標。 – Cascabel 2010-08-25 18:03:39