私のものをきれいにし~/.bashrc
てこれを見つけました:
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
これらのルートは存在せず、以前は存在したことがないと確信しています。ところで、私はDebianを使っています。開発者がDebianを削除するのを忘れましたか?
ご情報ありがとうございます
ベストアンサー1
このbash
シェルコードの目的は、見つかった2つのファイルのうち最初のファイルをインポートすることです。ただし、シェルのposix
オプションが有効になっていない場合にのみ適用されます。これら2つのファイルは、シェル固有のプログラマブルオートコンプリートサポートを提供できます。
Debian Linuxシステムでは、両方のパス名がpackageから提供されますbash-completion
。このパッケージがインストールされていない場合、シェルコードは何もしません。
bash
このコードをに配置するのはDebianのパッケージです/etc/skel/.bashrc
。/etc/skel
新しいユーザーアカウントが作成されると、ユーザーの初期ファイルセットがコピーされます。つまり、ファイルは.bashrc
その中のコードとともにからにコピーされます。アカウントが作成され、ユーザーがアカウントにアクセスできるようになると、ユーザーは必要に応じて初期ファイルセットを削除または変更できます。/etc/skel/.bashrc
~/.bashrc
このコードはbash-completion
パッケージがインストールされていないために存在します。結局これはただ尊敬されるDebianへのパッケージの依存関係(パッケージから分離され、bash
2008年にbash
独自のパッケージになりました)。パッケージがインストールされている場合、bash-completion
ユーザーはシェルのプログラム可能な完成システムを使用したい場合があるため、ファイルを入手する必要があります。必要でない場合はパッケージを削除するか、マルチbash-completion
ユーザーシステムの場合はパッケージから関連コードを削除またはコメントアウトすることを検討してください~/.bashrc
。
このコードの外観に影響を与える関連 Debian バグレポート:
- #655071(2011)、#655208(2012)、2つの別々のパス名の表示に関する内容。
- #498474(2008)
posix
、これらのファイルは、このオプションが設定されていない場合にのみ取得されます。