2011-10-18 23 views
0

__git_ps1返す(unknown)私はgitディレクトリにないときに何もの代わりに。それは私があまりにも満足していない変化です。だから私はそれを拡張して、古い振る舞いを取り戻そうとしています。だから、私は私の~/.bashrcでこれを追加し、/etc/bash_completionは、その前に供給されていることを確認しました:__git_ps1を拡張するには?私は "コマンドが見つかりません"

__git_silent_ps1() { 
    local b='$(__git_ps1 " (%s)")' 
    if ["$b" != " ((unknown))"]; then 
     echo -n $b 
    fi 
} 

しかし、私は私のプロンプトの定義に__git_silent_ps1を使用する場合、私が取得:

-bash: [$(__git_ps1 " (%s)"): command not found 

私はちょうど__git_ps1を使用する場合私のプロンプトの定義では、私はそのエラーは表示されませんが、ブランチが表示されます。なぜ私はエラーが発生していて、どのように修正できますか?

+0

これは...奇妙です。私のバージョンの '__git_ps1'は決してそれを行っていません。あなたは非常に古いバージョンがありますか?またはおそらく迷子な不完全な.gitディレクトリですか? – Cascabel

+0

いいえ、それはgitと私のホームディレクトリレイアウト(〜/ .gitにいくつかのグローバル設定があります)の問題かもしれません。 –

+0

あなたの問題があります。 Gitはそれがリポジトリ内にあるように見え、チェックアウトされているブランチを特定しようとしません。名前を変更することもできます。 – Cascabel

答えて

3

rmsomefile.txtと同じように、["$b"を書くべきではありません。

if [ "$b" != " ((unknown))" ]; then 
+0

ありがとうございます。私はそれが '__git_ps1'呼び出しであると確信していました。 –

関連する問題