Bash не працює сценарій на /opt/local/etc/bash_completion.d/


8

Я хотів мати автоматичне завершення bash для команд git, тому я впустив файл скрипту 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/як там повинні писати лише макпорти. Помістіть файли у домашній каталог, наприклад~/.bash_completion.d/git-completion.bash

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.