Raspbian(Debian Wheezy)を実行するRaspberry Piがあります。ターミナルに入ってみるとset
長いリストに驚いた。これはほぼ完全にgit関数のようです(約3700行)。
__git_all_commands=
__git_diff_common_options=$'--stat --numstat --shortstat --summary\n\t\t\t--patch-with-stat --name-only
...
私の質問は、彼らがどのようにそこに到着し、なぜそうしたのかです。
時々git
宅配便を受け取ります。
いつもの容疑者を全部確認してみました/etc/profile
、、、/etc/bash.bashrc
.bashrc
.profile
スクリプトが見つかりました/etc/bash_completion.d/git
(以前はbash_completionについて聞いたことがありませんでした)。それが何をしているのか、正確にどこで呼び出されるのかを調べるために、もっと研究する必要があります。
まだ調べなければなりませんなぜgit
1年に1〜2回だけ使用すると、すべてのログインシェルで実行したいと思います。 (ラズベリーパイにはRAMがあまりありません。)私のMacではこれが起こらないようです。
答え1
これらの機能はシェルペアですgit
。 Gitソフトウェアの一部として保持されます。 Debian(Raspbianベース)はgit
bash完了設定をパッケージとして配布します。これらの機能は、/etc/bash_completion.d/git
bashの他のコマンド補完サポートと同じディレクトリにあります。
すべてのファイルは、デフォルトでデフォルトでロードされる/etc/bash_completion.d
bashプログラマブルコンプリート設定の一部としてロードされます。コマンドごとに完成したくない場合は編集できます。/etc/bash_completion
.bashrc
/etc/bash_completion
gitを使用していない場合は、パッケージを削除してくださいgit
。パッケージがインストールされている場合は、おそらくこのコマンドを時々git
実行するので、うまくいくことを願っています。git
「私はgitをほとんど使わずに数キロバイトのRAMを節約したい」この区別はDebianでも微妙です。
完成ファイルをスキップして別のファイルを使用するには、次の手順を実行します。移動するファイル名のためスキップされます/etc/bash_completion
。ファイル転送は、パッケージマネージャに別の場所にあるファイルに更新と削除を適用するように指示する方法です。
dpkg-divert --add --local --rename --divert /etc/bash_completion.d/git.dpkg-diverted /etc/bash_completion.d/git
答え2
ログイン時にグローバルスクリプトとユーザー固有のスクリプト(、、、、/etc/profile
)が含まれています。$HOME/.profile
$HOME/.bash_profile
$HOME/.bash_login
ほとんどのディストリビューションでは、特定のディレクトリの内容(類似/etc/env.d/*
または類似)はグローバルスクリプトに含まれることがよくあります。パッケージには、ログインするたびに選択される独自の環境設定スクリプトを配置できます。