¿Cómo crear un alias permanente sin recurrir al archivo tipo .bashrc?

¿Cómo crear un alias permanente sin recurrir al archivo tipo .bashrc?

Realmente me gustan los alias de bash, me molesta que cada vez que quiero agregar un nuevo alias tengo que escribir dos comandos:

echo "alias \"short-cmd\"='long-command'" >> ~/.bash_aliases
source ~/.bash_aliases

¿Hay alguna forma de crear un alias de forma permanente con un solo comando?

Respuesta1

Aquí está mi solución, la función palias(también conocida 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
}

Respuesta2

Mi "solución de dos pulsaciones de teclas" (una letra y la tecla de retorno) es configurar este alias:

alias a='. ~/.bash_aliases'

Luego, cada vez que actualizo mi archivo .bash_aliases, simplemente escriboareturn

Un paso más es mantenerlos en todas las máquinas, usando 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]

Respuesta3

Hay varios archivos que se ejecutan cuando inicia sesión en su shell, incluidos ~/.bash_profile y posiblemente ~/.bashrc y ~/.bash_aliases si se hace referencia a ellos en su archivo ~/.bash_profile. Para tener un alias disponible cada vez que inicie sesión, simplemente coloque el comando que crea el alias en uno de esos archivos.

http://shreevatsa.wordpress.com/2008/03/30/zshbash-startup-files-loading-order-bashrc-zshrc-etc/

información relacionada