2011-08-11 8 views
1

現在のrvm gemsetの名前が現在のディレクトリの名前と一致しない場合は、プロンプトに*を表示します。 gemsetがfooの場合@fooを返す$(~/.rvm/bin/rvm-prompt g)を使って問題なしで現在のgemsetの名前を得ることができます。関数内の現在のディレクトリ(パスではない)を取得する.bashrc

私は"@${PWD##*/}""@${\W}"の両方を試しましたが、残念ながら成功しませんでした。私の全機能は次のようになります:

function ps1_rvm() { 
    [[ $(~/.rvm/bin/rvm-prompt g) != "@${PWD##*/}" ]] && echo "*" 
} 

私はこの機能を使ってPS1の値を設定し、自分のプロンプトに出力します。

編集:パスではなくディレクトリ名を取得します。

答えて

3

あなたは

function ps1_rvm() { 
    [[ $(~/.rvm/bin/rvm-prompt g) != $(basename $(pwd)) ]] && echo "*" 
} 

を試してみましたか?それはうまくいくはずです...

+0

$ {PWD}または$(pwd)です。がんばろう。 – shellter

+0

こんにちは、あなたの答えに感謝します。残念ながら、これはディレクトリ名ではなくディレクトリパスを返します。 –

+0

こんにちは、申し訳ありませんあなたの質問を完全に読んでいない。私は答えを更新しました。もう一度お試しください。 また、pwDの誤字を修正しました。 – keks

関連する問題