
その後、本当に奇妙なことが起こった有効化Linux
Chromebook で。致命的というわけではありませんが、非常に奇妙です。なぜPS1
常にこのように設定されているのでしょうか?
\[\033[01;34m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w\[\033[31m\] \[\033[01;34m\]$\[\033[00m\]
.profile
これを?の最後に使用しても、
export PS1='\[\033[01;34m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w\[\033[31m\]$(__git_ps1 " >> %s") \[\033[01;34m\]$\[\033[00m\] '
本当に驚くべきことは、どこに置いたとしてexport PS1=
もファイル内で物理的に変更された上で述べた最初のPS1
エントリに、これらすべての可能性のある場所が実際に変更されたPS1
そして、何らかの外部プロセスによって焼き付けられた状態に戻されます。
~/.profile
~/.bashrc
/etc/profile.d/git.sh
そしてさらに奇妙なことに、例えばというファイルを作成し~/.prompt
、それを または で実行するように追加~/.bashrc
すると~/.profile
、source ~/.prompt
それファイルも上書きされます。
export PROMPT_COMMAND=''
これまでに見たアドバイスに従ってすでに設定しましたが、うまくいきませんでした。次のようになりました:
これまでのところ、これだけが機能しており、その理由を知りたいです。
function prompt_command {
export PS1='\[\033[01;34m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w\[\033[31m\]$(__git_ps1 " >> %s") \[\033[01;34m\]$\[\033[00m\] '
}
export PROMPT_COMMAND=prompt_command
答え1
インストールされているようですが、これがPS1 文字列の途中にgit
追加されるときに表示される変更の原因であると思われます。$(__git_ps1 " >> %s")
PROMPT_COMMAND は、Bash がプロンプトを表示する前に後で毎回繰り返し実行されるため、変更を上書きして機能します。
git が処理を終えた後に PS1 が設定されていることを確認する必要がありますが、それがどこにあるかはわかりません。
注: こちらを参照 StackOverflowの回答。