
Eu realmente gosto de aliases do bash, me irrita que toda vez que quero adicionar um novo alias eu digito dois comandos:
echo "alias \"short-cmd\"='long-command'" >> ~/.bash_aliases
source ~/.bash_aliases
Existe alguma maneira de criar um alias permanentemente com um único comando?
Responder1
Aqui está minha solução alternativa, a função palias
(também conhecida como alias permanente):
function palias () {
if [ $# -ne "2" ] ; then
error "Usage: palias short-alias \'long-alias\'"
return
fi
alias $1="$2"
alias $1 >> ~/.bash_aliases
}
Responder2
Minha "solução de duas teclas" (uma letra e a tecla de retorno) é configurar este alias:
alias a='. ~/.bash_aliases'
Então, sempre que atualizo meu arquivo .bash_aliases, apenas digitoa
return
Um passo adiante é mantê-los em todas as máquinas, usando o github:
bup () { [ $# = 1 ] && { cp -v ~/$1 ~/Dropnot/setups; cd ~/Dropnot/setups; git fetch; git merge origin/master; git add $1; git commit -m"$1 update"; git push origin master; cp -v $1 ~; cd -; } || echo "Error - no filename passed!";}
Uso:bup [file] # file must be in ~, is usually a dot file]
Responder3
Existem vários arquivos que são executados quando você faz login no seu shell, incluindo ~/.bash_profile e possivelmente ~/.bashrc e ~/.bash_aliases se eles forem referenciados em seu arquivo ~/.bash_profile. Para ter um alias disponível sempre que você fizer login, basta colocar o comando que cria o alias em um desses arquivos.
http://shreevatsa.wordpress.com/2008/03/30/zshbash-startup-files-loading-order-bashrc-zshrc-etc/