GitBashのプロンプトをカスタマイズ

タイトル通り、Windowsでシェルスクリプトを実行するのに、GitBashを使っていて、
GitBashのプロンプトをカスタマイズがしたかったので調べてみた。

参考：[Git Bashのプロンプトから不要な箇所を消してスッキリさせる](https://qiita.com/EichiSanden/items/6dd7edb24ffb66b01276)
カスタマイズの仕方は上記や、ググればいろいろ出てくるのでそれを参考にします。

# GitBashのバージョン

```bash
$ git --version
git version 2.21.0.windows.1
```

# カスタマイズ
以下のパスからファイルを自分のhomeディレクトリにコピーします。

```bash
$ cp C:\\Program\ Files/Git/etc/profile.d/git-prompt.sh ~/.config/git/git-prompt.sh
```

以下のシェルを見ていただくと、~/.config/git/git-prompt.shにファイルがあればそちらを読み込むようになっています。

```bash 
$ cat ~/.config/git/git-prompt.sh
if test -f /etc/profile.d/git-sdk.sh
then
        TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
        TITLEPREFIX=$MSYSTEM
fi

if test -f ~/.config/git/git-prompt.sh
then
        . ~/.config/git/git-prompt.sh
else
        PS1='\[\033]0;$TITLEPREFIX:$PWD\007\]' # set window title
        PS1="$PS1"'\n'                 # new line
        PS1="$PS1"'\[\033[32m\]'       # change to green
        PS1="$PS1"'\u@\h '             # user@host<space>
        PS1="$PS1"'\[\033[35m\]'       # change to purple
        PS1="$PS1"'$MSYSTEM '          # show MSYSTEM
        PS1="$PS1"'\[\033[33m\]'       # change to brownish yellow
        PS1="$PS1"'\w'                 # current working directory
        if test -z "$WINELOADERNOEXEC"
        then
                GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
                COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
                COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
                COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
                if test -f "$COMPLETION_PATH/git-prompt.sh"
                then
                        . "$COMPLETION_PATH/git-completion.bash"
                        . "$COMPLETION_PATH/git-prompt.sh"
                        PS1="$PS1"'\[\033[36m\]'  # change color to cyan
                        PS1="$PS1"'`__git_ps1`'   # bash function
                fi
        fi
        PS1="$PS1"'\[\033[0m\]'        # change color
        PS1="$PS1"'\n'                 # new line
        PS1="$PS1"'$ '                 # prompt: always $
fi

MSYS2_PS1="$PS1"               # for detection by MSYS2 SDK's bash.basrc
```

ということで、まず、以下のようにします(elseの部分だけ残す)。

```bash
PS1='\[\033]0;$TITLEPREFIX:$PWD\007\]' # set window title
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'\[\033[32m\]'       # change to green
PS1="$PS1"'\u@\h '             # user@host<space>
PS1="$PS1"'\[\033[35m\]'       # change to purple
PS1="$PS1"'$MSYSTEM '          # show MSYSTEM
PS1="$PS1"'\[\033[33m\]'       # change to brownish yellow
PS1="$PS1"'\w'                 # current working directory
if test -z "$WINELOADERNOEXEC"
then
        GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
        COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
        COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
        COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
        if test -f "$COMPLETION_PATH/git-prompt.sh"
        then
                . "$COMPLETION_PATH/git-completion.bash"
                . "$COMPLETION_PATH/git-prompt.sh"
                PS1="$PS1"'\[\033[36m\]'  # change color to cyan
                PS1="$PS1"'`__git_ps1`'   # bash function
        fi
fi
PS1="$PS1"'\[\033[0m\]'        # change color
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'$ '                 # prompt: always $
```

あとはよしなにカスタマイズしていただければと！

# 参考
* [Git Bashのプロンプトから不要な箇所を消してスッキリさせる](https://qiita.com/EichiSanden/items/6dd7edb24ffb66b01276)
* [Linuxのプロンプトの表示を変更する](https://qiita.com/katsukii/items/da37d1fdf974bd0e4c2f)
* [【Bash】ターミナルのプロンプトのカスタマイズ方法まとめ](https://qiita.com/hmmrjn/items/60d2a64c9e5bf7c0fe60)
* [Bashでssh接続時、接続先によってプロンプトの文字色/背景色を変える](https://qiita.com/asigochan/items/fd98f9efc310058734c3)