Você pode criar um script com o seguinte conteúdo
#!/bin/bash
command=""; shift
case $command in
add|depends|dotty|dump|dumpavail|gencaches|madison|pkgnames|policy|rdepends|search|show|showpkg|showsrc|stats|unmet|xvcg)
apt-cache "$command" "$@"
;;
autoclean|autoremove|build-dep|check|clean|dist-upgrade|dselect-upgrade|install|purge|remove|source|update|upgrade)
apt-get "$command" "$@"
;;
esac
Suponha que você chame isso de myapt
. Então, para continuar tendo o benefício de conclusão do bash, você precisa adicionar as seguintes linhas a ~/.bashrc
:
_myapt() {
_apt_get
tt=("${COMPREPLY[@]}")
_apt_cache
COMPREPLY+=("${tt[@]}")
return 0
} &&
complete -F _myapt $filenames myapt
Infelizmente $command
deve preceder quaisquer opções, mas parece que a conclusão do bash não funciona para as opções que seguem o comando.