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

8

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

Cuando abro una nueva Terminal, el archivo de script en /opt/local/etc/bash_completion.d/ no se ejecuta. He verificado que el archivo de secuencia de comandos funciona al ejecutarse:

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

¿Falta algún paso para pedir a OS X que ejecute automáticamente los scripts en /opt/local/etc/bash_completion.d/ ?

    
pregunta hanxue 30.09.2013 - 19:10

2 respuestas

6

Para cargar automáticamente todos los scripts de un directorio, coloque esto en su archivo ~/.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
    
respondido por el frnhr 11.07.2015 - 15:03
3

Sí, debes cargarlos en tu shell.

Esto se hace editando ~/.bashrc o ~/.bash_profile y agregando el comando . filename para cada archivo. Esto carga el archivo y hace que las funciones estén disponibles. es decir, ponga su comando fuente en uno de estos archivos.

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

    
respondido por el Mark 30.09.2013 - 19:26

Lea otras preguntas en las etiquetas