如何在不资源化 .bashrc 类文件的情况下创建永久别名?

如何在不资源化 .bashrc 类文件的情况下创建永久别名?

我真的很喜欢 bash 别名,但每次我想添加新别名时,我都要输入两个命令,这让我很烦恼:

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

有什么方法可以使用单个命令永久创建别名吗?

答案1

这是我的解决方法,该函数palias(又名永久别名):

function palias ()  {

    if [ $# -ne "2" ] ; then
        error "Usage: palias short-alias \'long-alias\'"
        return
    fi

    alias $1="$2"
    alias $1 >> ~/.bash_aliases
}

答案2

我的“两次击键解决方案”(一个字母和返回键)是设置此别名:

alias a='. ~/.bash_aliases'

然后每当我更新 .bash_aliases 文件时我只需输入areturn

更进一步是使用 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!";}

用法:bup [file] # file must be in ~, is usually a dot file]

答案3

当您登录到 shell 时,会运行多个文件,包括 ~/.bash_profile 以及可能的 ~/.bashrc 和 ~/.bash_aliases(如果 ~/.bash_profile 文件中引用了这些文件)。要在每次登录时都有可用的别名,只需将创建别名的命令放入这些文件之一即可。

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

相关内容