bash-complete agrega terminación para:
- Comando nombres después
sudo
ywhich
- Nombres de paquetes Macports y Homebrew (opcional)
- Nombres de host
known_hosts
para comandos comossh
- Carpetas en
CDPATH
Y así. Puede imprimir una lista de comandos de finalización con complete -p
y ver la fuente de una función con declare -f
.
Instalación de Homebrew o MacPorts y Bash
Primero, debe instalar Homebrew o MacPorts de acuerdo con las instrucciones. Nota: No instale ambos, ya que entran en conflicto.
Luego, instale una versión más nueva de Bash. El Bash incorporado en OS X es un poco antiguo, y obtendrá más opciones de finalización con Bash> 4.1, que puede obtener
brew install bash
o
sudo port install bash
dependiendo de si usa Homebrew o MacPorts.
Instalación de bash-complete con Homebrew
Para instalar bash-completion
, debes:
brew install bash-completion
Y agregue lo siguiente a su ~/.bash_profile
:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Homebrew actualmente instala una versión anterior de bash-complete (1.3) que todavía funciona con Bash 3.x, pero aún así, se recomienda usar Bash 4.x.
Instalación de bash-complete con MacPorts
Con MacPorts:
sudo port install bash-completion
Luego, agregue a su ~/.bash_profile
:
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
. /opt/local/etc/profile.d/bash_completion.sh
fi
Consulte trac.macports.org/wiki/howto/bash-completion para obtener instrucciones sobre cómo habilitar la finalización de los nombres de puerto.
bash-completion
paquete de MacPorts brinda soporte para completar los nombres de paquetes como argumentos adicionales despuésport <verb>
. Ver aquí , líneas 48-58. Este comportamiento se insinúa en la wiki de MacPorts , que dice: " Esto no es solo para archivos y directorios, sino también, por ejemplo, para los comandos deport
. Así que escribeport <Tab>
y obtiene una lista de todos los comandos posibles ", aunque solo menciona explícitamente terminación de los verbos (que es mucho más simple).variants.conf
no es para completar para MacPorts en sí; variantes.conf define variantes para establecer automáticamente para todos los puertos, como se explica en la página wiki que ha vinculado. Agregar esa línea hace que el soporte de finalización de bash esté habilitado cuando sea posible para los puertos que instale.make
autocompletado habilitado , justo lo que quería.