Mercurialリポジトリ情報でBASHプロンプトを自動更新


2

私は指示に従っています Steve Loshによって概説された bashプロンプトを色付けしてフォーマットするために、プロンプトは更新されません。

俺の export PS1 行は次のようになります。

export PS1="\n\[$txtgrn\]\w\[$txtrst\]$(hg_in_repo)\[$txtylw\]$(hg_branch)\[$txtrst\]$(hg_dirty)\n\[$txtcyn\]\$\[$txtrst\] "

はい、それらすべて $txtxxx が定義されています。

リポジトリの内外を問わず、すべてが期待通りに動作しますが、私は常にしなければなりません source ~/.bash_profile 更新を求めるプロンプトを表示します。

私は何かが足りないのですか?ページの下のスクリーンショットに示すように、コマンドを実行するたびに更新する方法はありますか。

私はMac OSX 10.5(Leopard)をTerminalやiTermと共に使っています。

回答:


1

プロンプトが表示されるまでコマンド置換が評価されないように、ドル記号をエスケープする必要があります。

export PS1="\n\[$txtgrn\]\w\[$txtrst\]\$(hg_in_repo)\[$txtylw\]\$(hg_branch)\[$txtrst\]\$(hg_dirty)\n\[$txtcyn\]\$\[$txtrst\] "

あるいは、そのページに気付いた場合、彼は一重引用符を使用します。これにより、プロンプトが表示されるまでコマンド置換の拡張が妨げられます。

export PS1='\n\[$txtgrn\]\w\[$txtrst\]$(hg_in_repo)\[$txtylw\]$(hg_branch)\[$txtrst\]$(hg_dirty)\n\[$txtcyn\]\$\[$txtrst\] '
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.