.bashrcの代わりに.profileでシェル補完を定義すると、どのような利点がありますか?

.bashrcの代わりに.profileでシェル補完を定義すると、どのような利点がありますか?

私が知る限り、Bashでは/etc/profile~/.profileおよびが~/.bash_profileサブプロセスとサブシェル(主に環境変数)にわたって持続する設定に使用されるのに対し、および/etc/bashrc~/.bashrc存在しない設定に使用されます。 Bashコンプリート設定が継承されないと確信しているので、常に後者のファイルセットにあることを願っています。しかし、より知識の豊富な誰かがその設定を配置したり配置したりすることをお勧めしたいくつかのケースを見つけました。 「構成」ファイル」ファイルに:

  • Ubuntu(20.04ベース)では、インストールパッケージはデフォルトのBash完了スクリプトを提供するbash-completionファイル/etc/profile.d/(付属)を追加します。/etc/profile

  • 自分で作った~のbash-completion公式ユーザーは次のことをお勧めします。

    Add the following line to your ~/.bash_profile:
      [[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
    

これらのパッケージが構成ファイルを使用する理由についての最善の推測は、構成ファイルからソースを取得できないユーザーを補償することですが(~/.bashrc少なくともUbuntuでは)~/.profile~/.bashrc~/.bashrc

これらのパッケージにbashrcファイルの代わりに構成ファイルの一部として完了スクリプトがあるのはなぜですか?これにはどのような利点がありますか?

関連情報