2015-05-26 28 views
0

我想使用bash在一組目錄中列出git分支。使用帶格式的bash在目錄中列出git分支

現在我只想格式化分支名稱,如果它是「主」。換句話說,如果分支是'主',我想以藍色或其他顏色顯示它。

+3

你在實現這個過程中遇到什麼困難? –

+1

'... | grep --color'master $''會這樣嗎? – Biffen

+1

@Biffen雖然不能顯示任何不匹配的行。 –

回答

1

有沒有這個需要cd左右。只要使用這樣的事情

reset=$(tput sgr0) 
blue=$(tput setaf 4) 
for dir in directory_name_1 directory_name_2 ...; do 
    branch=$(GIT_DIR="$dir/.git" git symbolic-ref --short HEAD) 

    color= 
    if [ master = "$branch" ]; then 
     color=$blue 
    fi 

    printf '%s: %s%s%s\n' "${dir##/*}" "$color" "$branch" "$reset" 
done 

使用tput以獲得正確的控制代碼當前終端重置屬性(sgr0)和集前景色(setaf)爲藍色(默認顏色4)。

+0

這是美麗的,雖然給我這個錯誤tput:輸入:未知terminfo功能'srg0' – Alucard

+0

糟糕。錯字。定影。 –