Estoy en Debian Jessie 8.6. Noté que apt-get
obtiene el autocompletado bash esperado al presionar la pestaña para paquetes y comandos, pero cuando intento usarlo apt
no funciona. Recuerdo haber usado xubuntu 16.04 donde funcionaba, así que me parece extraño que no funcione aquí. ¿Hay alguna manera de habilitarlo también para el comando apt
? ¿Si es así, cómo?
debian
apt
autocomplete
Andrea
fuente
fuente
Respuestas:
Debian no viene con 'bash-complete' instalado y habilitado.
Para solucionar esto, ejecute (como root):
Entonces, tienes dos opciones. Puede (1) habilitarlo por usuario para usted o (2) habilitarlo globalmente.
Si desea habilitarlo solo para su usuario, edite
~/.bashrc
- agregue lo siguiente:Para probarlo sin cerrar sesión y volver a iniciarla, ejecute:
O abra un nuevo shell. Luego intente usar tabulación completa con apt. Ese punto y espacio al principio (
.
) es lo mismo que usar lasource
palabra clave en bash, pero es más portátil.Si desea que funcione cuando
su
está en la cuenta raíz, haga lo mismo en el directorio principal de la raíz (normalmente/root
).Para habilitarlo globalmente, realice los cambios desde (1) en el archivo
/etc/bash.bashrc
.Para cualquiera que se pregunte por qué esto funciona, el
.
frente/etc/bash_completion
no se refiere al directorio actual, ya que tiene espacios a su alrededor. En su lugar, hace que el contenido del archivo dado se evalúe en el shell actualmente en ejecución, en lugar de ejecutarse en un nuevo subshell. Está estandarizado aquí.En Bash, esto
.
puede ser reemplazado por el comandosource
, pero esto no está estandarizado por POSIX y es menos portátil, por lo que tiendo a alejar a las personas de usarlo. En este caso, dado que es específicamente un programa para extender bash, en lugar de algo que necesita funcionar en un shell de bourne oksh
, puede sentirse libre de sustituir lasource
legibilidad.fuente
En Debian 9 Stretch solo edite /etc/bash.bashrc y descomente:
fuente
Copie este archivo de configuración de Ubuntu: / usr / share / bash-completar / completions / apt en el mismo directorio en Jessie. También puede obtener el archivo aquí: http://pastebin.com/PRBMt3an
fuente
Como lo solucione
Tenía problemas de terminación de auto tratando de autocompletar
wget
conapt-get install wg[TAB][TAB]
y me las arreglé para resolverlo mediante la eliminación del--no-generate
parámetro de las moscas a continuación:Vale la pena mencionar que estos archivos están disponibles solo después de la instalación
bash-completion
.El
--no-generate
parámetro al que me refiero se puede ver en la línea a continuación, pero eliminé TODOS--no-generate
, no solo de esta línea: https://github.com/scop/bash-completion/blob/master/completions/apt-get# L28¿Cómo llegué a este punto?
Llegué a este punto después de ejecutar
set -v
anterior aapt-get install wg[TAB][TAB]
, que mostró que el comando ejecutado era:y la salida fue un error:
Cuando ejecuté
apt-cache pkgnames wg
sin el,--no-generate
obtuve correctamente la lista para autocompletar:Espero que esto ayude.
fuente
El problema probablemente sea causado por
ajustes en
/etc/apt/apt.conf.d
. En mi caso, se originó a partir de la imagen de Debian Docker, consulte https://github.com/debuerreotype/debuerreotype/blob/799473bee3d388cf00bd55221b38a9d58bd6a2ba/scripts/debuerreotype-minimizing-configfuente