2011-04-20 60 views
2

我是Linux新手,但想尝试别名。如何将bash别名添加到接受参数的.bashrc?

我有我们的软件版本的分支目录。目录结构是这样的:

/home/username/software/release-1 
/home/username/software/release-2 
/home/username/software/release-3 etc 

我想添加一个别名,所以我可以输入类似“CDR 1”,并自动cd到释放-1目录。

我知道我可以将这些行添加到我的.bashrc:

alias cdr 1='cs /home/username/software/release-1' 
alias cdr 2='cs /home/username/software/release-2' etc 

,但有一些方法来传递参数到别名所以我没有更新它的每一个新版本?

感谢 马特

回答

12

你可以把它们放在一个功能

cdr(){ 
    to=$1 
    cd /home/username/software/release-${to} 
} 

使用,

... 
cdr 1 
cdr 2 
... 
+0

+1,AFAIK你不能做别名想要什么作家,而函数是一个非常灵活的机制,与别名相比没有缺点。你也可以在这样的函数中使用_getopt_来使得真正的“别名”更加方便。 – bobah 2011-04-20 10:51:04

+0

太好了,谢谢 - 这个工作很完美。 – 2011-04-20 11:03:30

+0

我自己多次使用过。例如Linux服务器Hacks书籍中改进的'ducks'(磁盘使用率,顶部空间大小)。 – 0xC0000022L 2011-04-22 03:17:36