Bash tidak menjalankan skrip di /opt/local/etc/bash_completion.d/

8

Saya ingin memiliki bash autocompletion untuk perintah git, jadi saya memasukkan file skrip bash ke dalamnya /opt/local/etc/bash_completion.d/.

Ketika saya membuka Terminal baru, file skrip di /opt/local/etc/bash_completion.d/tidak dieksekusi. Saya telah memverifikasi bahwa file skrip berfungsi dengan menjalankan:

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

Apakah ada langkah-langkah yang hilang di sini untuk meminta OS X untuk secara otomatis menjalankan skrip /opt/local/etc/bash_completion.d/?

hanxue
sumber

Jawaban:

8

Untuk memuat semua skrip dari direktori secara otomatis, masukkan ini ke ~/.bashrcfile Anda

# 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
frnhr
sumber
3

Ya, Anda perlu memuatnya ke dalam shell Anda.

Ini dilakukan dengan mengedit ~/.bashrcatau ~/.bash_profiledan menambahkan perintah . filenameuntuk setiap file. Ini memuat file dan membuat fungsi tersedia. yaitu menempatkan perintah sumber Anda di salah satu file ini.

Perhatikan bahwa Anda tidak boleh menambahkan /opt/local/etc/bash_completion.d/karena hanya macports yang harus menulis di sana. Letakkan file di direktori home Anda misalnya~/.bash_completion.d/git-completion.bash

pengguna151019
sumber