1. ホーム
  2. macos

[解決済み] (Mac) -bash。git_ps1: コマンドが見つかりません。

2022-02-09 01:50:14

質問

ターミナルでコマンドプロンプトを変更しようとしています。エラーが出続けています。

-bash: __git_ps1: command not found

そのままターミナルに入力しただけで試してみました。 __git_ps1 . また、試しに .bash_profile

if [ -f ~/.git-completion.bash ]; then
  source ~/.git-completion.bash
  export PS1='[\W]$(__git_ps1 "(%s)"): '
fi

お分かりかと思いますが、オートコンプリートをインストールしたところ、とてもうまくいきました。

私はこの質問に遭遇しました: " PS1 環境変数が mac で動作しない というコードが表示されます。

alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"

そこで私は、これを私の .bash_profile 何か変わるかもしれないと期待して。まあ、そうなんですけどね。エラー出力が変わっただけです。

以下は .bash_profile を追加したものです。

alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"

if [ -f ~/.git-completion.bash ]; then
  source ~/.git-completion.bash
  export PS1='[\W]$(__git_ps1 "(%s)"): '
fi

そして、変更後のエラー出力がこちらです。

sed: (%s): No such file or directory

また、エイリアスをソースの下に移動させたが、違いはない。私は git バージョン 1.7.12.1

これは簡単な変更のはずです。どなたか助けていただけませんか?

12年10月13日編集

いいえ、__git_ps1 を自分で定義するのは絶対に嫌なのですが、そうすることで認識されるかどうか試してみただけです。そうです、私は .git-completion.bash ファイルをインストールしました。私のマシンでの自動補完の方法は以下の通りです。

cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash

A ls -la を指定すると .git-completion.bash ファイルを作成します。

編集 10/13/12 - 解決しました。 マーク・ロンゲアー (以下略)

以下のコードでうまくいきました。 .bash_profile 他の人はそうでもないのに・・・。

if [ -f ~/.git-prompt.sh ]; then
  source ~/.git-prompt.sh
  export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi

解決方法は?

のバージョンをインストールしました。 git-completion.bash から master - を分割したコミットの後です。 __git_ps1 関数を、補完機能から新しいファイル ( git-prompt.sh ). この変更を導入したコミットは、その根拠を説明したものです。 af31a456 .

のバージョンだけをソースにすることをお勧めします。 git-completion.bash (または git-prompt.sh を使用することで、git のインストール時に同梱されている

しかし、何らかの理由で、この機能を、別途 master をダウンロードする必要があります。 git-prompt.sh と同様です。

curl -o ~/.git-prompt.sh \
    https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh

... そして、次の行をあなたの ~/.bash_profile :

source ~/.git-prompt.sh

そして、あなたの PS1 を含む変数があります。 __git_ps1 '%s' は正常に動作するはずです。