Bash no ejecuta script en /opt/local/etc/bash_completion.d/

8

Quería tener el autocompletado de bash para los comandos de git, así que coloqué un archivo de script de bash en /opt/local/etc/bash_completion.d/.

Cuando abro una nueva Terminal, el archivo de script /opt/local/etc/bash_completion.d/no se ejecuta. He verificado que el archivo de script está funcionando ejecutando:

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

¿Faltan pasos aquí para pedirle a OS X que ejecute automáticamente los scripts /opt/local/etc/bash_completion.d/?

hanxue
fuente

Respuestas:

8

Para cargar automáticamente todos los scripts de un directorio, colóquelo en su ~/.bashrcarchivo

# 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
fuente
3

Sí, debe cargarlos en su shell.

Esto se hace editando ~/.bashrco ~/.bash_profileagregando el comando . filenamepara cada archivo. Esto carga el archivo y hace que las funciones estén disponibles. es decir, coloque su comando de origen en uno de estos archivos.

Tenga en cuenta que no debe agregar a, /opt/local/etc/bash_completion.d/ya que solo los macports deben escribir allí. Ponga los archivos en su directorio de inicio, por ejemplo~/.bash_completion.d/git-completion.bash

usuario151019
fuente