El nuevo aptcomando, presente en Ubuntu desde 14.04, parece ser una intersección realmente útil de la funcionalidad entre apt-gety, apt-cachepero la versión actual de bash-completionno lo sabe ... Lo que hace que sea mucho más difícil de usar.
¿Hay alguna forma rápida de agregar esta funcionalidad a Bash para que el aptcomando sea fácil de usar?
apt
bash
auto-completion
Oli
fuente
fuente

Respuestas:
Esta es una omisión en el
bash-completepaquete, noapt. Parece que todavía no existe una finalización, por lo que he reunido lo que puedo para elaptcomando (¡no es el comando mejor documentado que haya existido!)La siguiente es una adaptación de la
apt-getfinalización existente (con elementos eliminados y bits añadidos desdeapt-cachela finalización). Ejecutesudoedit /usr/share/bash-completion/completions/apty pegue lo siguiente:Luego ejecute
source ~/.bashrcpara cargar la finalización. Entoncesapt show firef+ Tabdebería completarse.Esto puede ofrecerle opciones que simplemente ya no existen. Creo que he clavado los comandos principales (que podría cambiar en el tiempo) pero por lo menos te ayudaré con los comandos comunes:
listsearchshowupdateinstallremoveupgradefull-upgradeedit-sourcesdist-upgradepurge.Obviamente, si un mantenedor de finalización de bash quiere atrapar lo anterior, eres bienvenido bajo GPL (¡aunque estaría tentado de comenzar desde cero una vez que
aptesté documentado!)fuente
zsh?¿Por qué no usar el bash-complete original ?
Prueba este script. Descargará e instalará la finalización de bash en
~/tmp/bash-completion.Comienza a usarlo con el comando
. ~/tmp/bash-completion/bash_completion.sh, que se puede poner en un~/.bashrcarchivo o, mejor aún, vincularlo a algún archivo en el/etc/profile.d/directorio. Desinstale la finalización de bash original, para que no termine cargando ambos al mismo tiempo.fuente
aptitude,apt-getyapt-cache. ¿Qué es exactamente lo que quieres decir con terminación adecuada ?apthay un nuevo comando (ish) que está en Trusty. Tiene algunos de apt-get, algunos de apt-cache ... Todo con un poco de florecimiento extra en un solo lugar.