私は基本的に私のPS1をgitリポジトリに次のように見せようとしています。
$ ~/Projects/Blah (master):
または、Gitリポジトリにない場合は、次のように表示したいと思います。
$ ~/Projects/Blah:
これが私の現在のPS1です:
export PS1="$ \w \$(__git_ps1): "
git repoの出力ではうまく動作しますが、問題は私がgit repoにない場合、出力は次のようになることです.
$ ~/Projects/Blah :
それがgitリポジトリではなく、そこにスペースがほしいと思わない場合は、PS1でそれを指定する方法はありますか?
ベストアンサー1
動的に設定されたプロンプトを使用しますfunction
。これは私の開発環境初期化スクリプトで定義されている私の特定の機能です。
function prompt_cmd
{
# Tell the terminal application (using escape sequences) what the CWD is.
# (this comes from /etc/bashrc)
update_term_cwd
if [[ "$ORIG_PS1" == "" ]]; then
export ORIG_PS1=$PS1
fi
if [[ "$CURRENT_PROJECT" == "" ]]; then
export PS1=$ORIG_PS1
else
if [[ "$PWD" == "$DEV_HOME/projects/$CURRENT_PROJECT"* ]]; then
PWD_COLOR=''
else
PWD_COLOR='\[\e[0;31m\]'
fi
export PS1="\[\e[0;32m\]$CURRENT_PROJECT\[\e[m\]:$PWD_COLOR\W\[\e[m\]$ "
fi
}
(私が参加していると思うプロジェクトから抜け出すと、ヒントのパス部分が赤に設定されます!)
...そしてbashにこの関数を使用するように指示します。
export PROMPT_COMMAND=prompt_cmd