2
目前我的終端提示包含git信息。終端提示基本bash腳本
實施例清潔目錄:michaelespinosa:〜/站點/ example.com [GIT中:主]
例髒目錄:michaelespinosa:〜/站點/ example.com [GIT中:主*]
我想也爲git信息着色(如果它是乾淨的則爲綠色,如果是髒的則爲紅色)。
我以爲我可以添加一個函數(parse_git_color),並根據是否存在星號來設置它的顏色。
問題在於它對於乾淨和骯髒的目錄都保持綠色。我相信這個問題與if語句parse_git_dirty ==「*」有關,它將parse_git_dirty的值與「*」進行比較。
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
}
function parse_git_color {
if [ parse_git_dirty == "*" ]; then
echo '\033[0;31m\'
else
echo '\033[0;32m\'
fi
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/$(parse_git_color)[git:\1$(parse_git_dirty)]/"
}
任何幫助表示讚賞! 謝謝
我更新了您的建議,但沒有奏效。我以michaelespinosa結束:〜/ Sites/example.com 033 [0; 32m [git:master]。我認爲這個問題與if語句有關,因爲無論發生什麼,它都會一直返回。 – michaelespinosa 2012-02-17 20:56:15
@michaelespinosa Sry,我沒有測試我的建議。我修復了我的答案。 – sgibb 2012-02-17 21:48:50
感謝@sgibb關鍵是將parse_git_dirty更改爲「$(parse_git_dirty)」 – michaelespinosa 2012-02-17 22:34:09