0

現在、すでにgitプロジェクトが含まれているフォルダーからbashを起動すると、これは機能します。

PS1="${debian_chroot:+($debian_chroot)}\[$BPurple\]\u\[$BGreen\]@\[$BCyan\]\h\[$BGreen\]: \[$BBlue\]\w\[$Yellow\]`__git_ps1`\[$Green\] \$ \[$White\]"

私の問題は、私cdがgitフォルダーに入っても、何も起こらないということです。そして、gitリポジトリで開始した場合((master)が表示されcdますが、他の場所に移動した場合でも、(master)はプロンプトに表示されます。

したがって、PS1変数は更新されていません。どうすれば修正できますか?

4

2 に答える 2

0

変数が使用されているほとんどの場合、二重引用符を単純引用符に置き換えてみてください

PS1='${debian_chroot:+($debian_chroot)}'"[$BPurple]\u[$BGreen]@[$BCyan]\h[$BGreen]: [$BBlue]\w[$Yellow]__git_ps1[$Green] \$ [$White]"
于 2012-07-19T13:03:15.433 に答える
0

これを試して:

PS1='${debian_chroot:+($debian_chroot)}[$BPurple]\u[$BGreen]@[$BCyan]\h[$BGreen]: [$BBlue]\w[$Yellow]$(__git_ps1)[$Green] \$ [$White]'

二重引用符を一重引用符に置き換え、への呼び出しを__git_ps1コマンド置換でラップしました。それが機能しない場合(しばらくの間、プロンプトにパラメーター展開を含めていません)、試してみてください

PS1="..."'$(__git_ps1)'"..."

ここで、最初の「...」は「__git_ps1」の前のすべてであり、2番目の「...」は後のすべてです。基本的に、3つの文字列が連結され、1番目と3番目は二重引用符で、2番目は一重引用符で囲まれています。

于 2012-07-19T14:29:58.293 に答える