上記Qiitaページのすごく参考にしております。ぜひご一読を!これパクリなんじゃ
少しだけ修正を加えたので備忘録として書いておきます
.bashrcに下記を追加
function parse_git_branch { git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } function promps { local BLUE="\[\e[1;34m\]" local RED="\[\e[1;31m\]" local GREEN="\[\e[1;32m\]" local WHITE="\[\e[00m\]" local GRAY="\[\e[1;37m\]" local CYAN="\[\e[1;36m\]" local PURPLE="\[\e[1;35m\]" case $TERM in xterm*) TITLEBAR='\[\e]0;\W\007\]';; *) TITLEBAR="";; esac local BASE="${GREEN}\u${WHITE}@${GREEN}\h" PS1="${TITLEBAR}${BASE}${WHITE}:${BLUE}\w${CYAN}\$(parse_git_branch)${BLUE}\$${WHITE} " } promps
ちょっとした解説
sedコマンド
文字列の操作をするコマンド
eオプション
この後ろに操作処理を書いていく
dオプション
正規表現に当てはまった対象を削除
sオプション
置換
ちなみにgオプション追加ですべて置換(vimと一緒ですね)
's/* \(.*\)/ (\1)/g'
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
なのでこれは、
git branch --no-colorでbranch一覧を出力して(2> /dev/nullでエラー出力は廃棄)、
sed -e '/^[^*]/d' で 先頭に*がついていない行を削除して、
e 's/* \(.*\)/ (\1)/' で()の中身だけを抜き出しているって感じですね
プロンプトの色を定数にしておくのは便利 かつ わかりやすくていいですね!
この辺もご一緒にどうぞ!
charlie1012.hatenablog.jp
参考
プロンプトの確認や設定 - Pocketstudio.jp Linux Wiki
プロンプトをカスタマイズしてgitブランチを表示する - Qiita