git-completion.bashが無い・・・!

背景

新しいEC2インスタンスyumでgitを入れようとしました。 git v2.13.6が入ります。気にせずにgit向けの設定を用意していたら 下記のファイルが見つかりません

$ sudo find / -name git-completion.bash -type f

このファイルはsourceコマンドで呼び込むとgitコマンドの補完をしてくれる公式が配布しているファイルになります。

よく調べてみたところ、下記ディレクトリの下に「git-completion.tcsh」というファイルがありました。

$ sudo find / -name git-completion.*-type f
/usr/share/git-core/contrib/completion/git-completion.tcsh

tcshファイルの設置を試してみる

$ yum install tcsh
$ cp /usr/share/git-core/contrib/completion/git-completion.tcsh ~/.git-completion.tcsh
$ chmod u+x ~/.git-completion.tcsh
$ source ~/.git-completion.tcsh
-bash: /home/ec2-user/.git-completion.tcsh: line 127: syntax error: unexpected end of file

シェルに詳しくないもので気づくのが遅かったのですが 単純にbashで実行されているだけですね

sourceはデフォルトで設定しているシェルで実行されるので 私の環境の場合はbashで実行されました。

なので、bashではなくtcshcshをデフォルトのシェルとして使ってる環境では問題ないかと思います

が、私はbashやshで精一杯なので、tcshを使うのは辛いです!今は!

ということでGithubにアップされているgitブランチを確認すると

https://github.com/git/git/tree/v2.13.6/contrib/completion git-completion.bashが・・・!

$ cd ~
$ wget https://github.com/git/git/tree/v2.13.6/contrib/completion/git-completion.bash
$ tail -n 1 ~/.bash_profile
source ~/.bash_profile
$ source ~/.bash_profile

これでいけますた:)