/opt/local/etc/bash_completion.d/でBashがスクリプトを実行していない


8

gitコマンドのbashオートコンプリートを使用したかったので、bashスクリプトファイルをにドロップしました/opt/local/etc/bash_completion.d/

新しいターミナルを開くと、のスクリプトファイル/opt/local/etc/bash_completion.d/が実行されません。次のコマンドを実行して、スクリプトファイルが機能していることを確認しました。

source /opt/local/etc/bash_completion.d/git-completion.bash

OS Xでスクリプトを自動的に実行するように要求するためにここに欠けている手順はあります/opt/local/etc/bash_completion.d/か?

回答:


8

ディレクトリからすべてのスクリプトを自動的にロードするには、これを~/.bashrcファイルに入れます

# LOAD ALL AUTOCOMPLETIONS IF ANY ARE INSTALLED
if [ -d /usr/local/etc/bash_completion.d ]; then
    for F in "/usr/local/etc/bash_completion.d/"*; do
        if [ -f "${F}" ]; then
            source "${F}";
        fi
    done
fi

3

はい、それらをシェルにロードする必要があります。

これは、ファイルごとにコマンドを編集~/.bashrcまたは~/.bash_profile追加することによって行われ. filenameます。これによりファイルが読み込まれ、関数が使用可能になります。つまり、ソースコマンドをこれらのファイルのいずれかに配置します。

/opt/local/etc/bash_completion.d/Macportsだけがそこに書き込む必要があるため、追加しないでください。ファイルをホームディレクトリに配置します。~/.bash_completion.d/git-completion.bash

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.