No Ubuntu 11.04 ou 10.04, como posso fazer o apt-get
, apt-cache
all in one myapt
para que eu possa simplesmente usar apenas um, como no Fedora?
Por exemplo:
myapt search yum # same as apt-cache search
myapt remove yum # same as apt-get remove
myapt install yum # same as apt-get install
Alguma ideia de como fazer um alias para isso?
Responder1
Você poderia criar um script com o seguinte conteúdo
#!/bin/bash
command="$1"; 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 ainda ter o benefício da 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 qualquer opção, mas parece que a conclusão do bash não funciona para opções que seguem o comando.
Responder2
Não tenho certeza se você pode usar um alias para isso, mas você pode usar o bash para criar um script.
Como não sou um scripter bash, não seria capaz de lhe dizer o código exato para fazer isso, mas o que você poderia fazer é algo como(isso é apenas pseudocódigo, então não espere que funcione!!!):
var action
var input
get action, input
if action == search
then do apt-cache search input
if action == remove
then do apt-get remove input
if action == install
then do apt-get install input
Tenha em mente que você pode escrever o script (ou até mesmo um aplicativo compilado) em qualquer linguagem com a qual você se sinta confortável, como python ou ruby, por exemplo, não precisa ser bash.
Novamente, lembre-se que meu exemplo é apenaspseudo-código.