54 lines
2.4 KiB
Markdown
54 lines
2.4 KiB
Markdown
---
|
|
title: "Autocompletar bash en Linux"
|
|
description: "Alguna configuración opcional para la finalización automática de bash en Linux."
|
|
headless: true
|
|
---
|
|
|
|
### Introducción
|
|
|
|
El script de completado de kubectl para Bash se puede generar con el comando `kubectl completion bash`. Obtener el script de completado en su shell habilita el autocompletado de kubectl.
|
|
|
|
Sin embargo, el script de completado depende de [**bash-completion**](https://github.com/scop/bash-completion), lo que significa que primero debe instalar este software (puedes probar si tienes bash-completion ya instalado ejecutando `type _init_completion`).
|
|
|
|
### Instalar bash-complete
|
|
|
|
El completado de bash es proporcionado por muchos administradores de paquetes (ver [aquí](https://github.com/scop/bash-completion#installation)). Puedes instalarlo con `apt-get install bash-completion` o `yum install bash-completion`, etc.
|
|
|
|
Los comandos anteriores crean `/usr/share/bash-completion/bash_completion`, que es el script principal de bash-complete. Dependiendo de su administrador de paquetes, debe obtener manualmente este archivo de perfil en su `~/.bashrc`.
|
|
|
|
Para averiguarlo, recargue su shell y ejecute `type _init_completion`. Si el comando tiene éxito, ya está configurado; de lo contrario, agregue lo siguiente a su archivo `~/.bashrc`:
|
|
|
|
```bash
|
|
source /usr/share/bash-completion/bash_completion
|
|
```
|
|
|
|
Vuelva a cargar su shell y verifique que la finalización de bash esté correctamente instalada escribiendo `type _init_completion`.
|
|
|
|
### Habilitar el autocompletado de kubectl
|
|
|
|
Ahora debe asegurarse de que el script de completado de kubectl se obtenga en todas sus sesiones de shell. Hay dos formas de hacer esto:
|
|
|
|
- Obtenga el script de completado en su perfil `~/.bashrc`:
|
|
|
|
```bash
|
|
echo 'source <(kubectl completion bash)' >>~/.bashrc
|
|
```
|
|
|
|
- Agregue el script de completado al directorio de `/etc/bash_completion.d`:
|
|
|
|
```bash
|
|
kubectl completion bash >/etc/bash_completion.d/kubectl
|
|
```
|
|
|
|
Si tiene un alias para kubectl, puede extender el completado del shell para trabajar con ese alias:
|
|
|
|
```bash
|
|
echo 'alias k=kubectl' >>~/.bashrc
|
|
echo 'complete -F __start_kubectl k' >>~/.bashrc
|
|
```
|
|
|
|
{{< note >}}
|
|
El código fuente de bash-complete todos los scripts se encuentra en `/etc/bash_completion.d`.
|
|
{{< /note >}}
|
|
|
|
Ambos enfoques son equivalentes. Después de recargar su shell, el autocompletado de kubectl debería estar funcionando. |