3 votos

Mac OS X bash leer las secuencias de comandos para todos los usuarios (ficha de finalización de secuencias de comandos) de /opt/local/etc/bash_completion.d camino?

Me encontré con unas instrucciones en el libro "Pro Git"

Se sugiere:

  1. Descargar este archivo : https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

    Si utiliza el shell Bash, Git viene con una buena auto-realización secuencia de comandos que puede habilitar. Descargar directamente desde el código fuente de Git en https://github.com/git/git/blob/master/contrib/completion/git-completion.bash . Copia este archivo a su directorio home, y agregar esto a su .bashrc archivo:

    source ~/git-finalización.bash

    Fuente https://github.com/progit/progit/blame/master/en/02-git-basics/01-chapter2.markdown#L1115

    (poner esta línea en .bashrc no funcionará en sistemas Mac OS X que he discutido aquí: ¿por Qué Mac OS X no source ~/.bashrc)

  2. Poner este archivo git-completion.bash ( en /opt/local/etc/bash_completion.d si desea bash finalización (para el comando git) para trabajar en todas las cuentas de usuario. (Como si bash lee todos los scripts en /opt/local/etc/bash_completion.d)

    Si desea configurar Git para que automáticamente shell Bash finalización para todos los usuarios, copia este script para el /opt/local/etc/bash_completion.d directorio en los sistemas Mac o a la /etc/bash_completion.d/ directorio en sistemas Linux. Este es un directorio de scripts de Bash se carga automáticamente para proporcionar shell terminaciones.

    Fuente : https://github.com/progit/progit/blame/master/en/02-git-basics/01-chapter2.markdown#L1119


Me enteré de que Mac OS es bash NO leer las secuencias de comandos dentro de /opt/local/etc/bash_completion.d. Puse el archivo que hay (he creado todas las carpetas, porque no existen) : Terminal prompt showing that git-completion.bash exists and is in appropriate path

Y git finalización no funciona en cualquier cuenta.

Mac OS X bash leer las secuencias de comandos para todos los usuarios de /opt/local/etc/bash_completion.d ?

Es el "Pro Git" libro malo ? Puedo informar en su página de Github ?

O estoy equivocado ?

1voto

yoliho Puntos 340

Bash lee sólo secuencias de comandos por defecto en el directorio home, o si faltan en /etc . Ver Bash documentación Si el uso de OSX del Terminal.la app de forma predeterminada, se lee ~/.bash_profile

Esto es cierto de todas bash en Linux u otros sistemas operativos.

Para leer desde otro directorio, por ejemplo /opt/local/etc/bash_completion.d tienes para editar su puesta en marcha de los archivos de código fuente (es decir, incluir) los archivos de

Las instrucciones para la secuencia de comandos de hacer ninguna mención a /opt/local/... la cual no es un estándar de ubicación en cualquier Unix. (por no estándar está permitido para ser utilizado por los paquetes de terceros, pero no define lo que deberían estar ahí) dicen

  1. Copie este archivo en algún lugar (por ejemplo ~/.git-completion.sh).
  2. Agregue la siguiente línea a su archivo .bashrc/.zshrc como:

    source ~/.git-completion.sh
    
  3. Considere la posibilidad de cambiar su PS1 también mostrar la rama actual, ver git-prompt.sh para obtener más detalles.

El progit cita se supone que saben de bash. Todo lo que está diciendo es poner los archivos de la primera cita en un lugar específico si desea que todos los usuarios de la máquina para el uso de ellos y no en ~ donde sólo el usuario de la instalación se puede ver. es decir, el punto es multi usuario versa único usuario. Él también elige que camino como nada más lo utiliza y no se debe editar el archivo /etc archivos en OSX de Apple las actualizaciones del sistema operativo, podría sobrescribir ellos, así que tienes que elegir otro lugar. (Yo hubiera elegido algo por debajo de /usr/local como allí es donde mantenido manualmente los scripts están destinados a ir.

~/.bashrc es el lugar correcto para editar y agregar la fuente. Ver tu otra pregunta y el bash manual de configuración ~/.bash_profile El bash de forma sugerida es agrio .bashrc .bash_profile. Tenga en cuenta que en OSX usando la Terminal.aplicación no es la de ono forma de ejecución de las conchas por lo tanto, pueden ser sesiones de partida .bashrc

0voto

Tony Williams Puntos 4903

El núcleo de bash finalización de los archivos no se instalan como parte de mac OS X así que no hay ningún lugar para agregar su git finalización, para que sea recogido por el núcleo.

Me disculpo, pero no estoy seguro de cómo he instalado bash finalizado, pero creo que he utilizado MacPorts, también puede utilizar Homebrew.

Me hacen tener la carpeta /usr/local/opt/bash-completion/etc/bash_completion.d que contiene la finalización de archivos para un número de herramientas de línea de comandos. El bash_completion función sin duda lee todos los archivos en este directorio.

Por lo que primero se necesita para instalar bash-completion , a continuación, el git de finalización de archivo y todo estará bien.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X