定义 alias 时,有用命令行参数的需求。但通过查证文档的结果是,alias 根本就不支持传递命令行参数。不过,我们可以变通的解决这个问题,即定义函数。
代码如下 | 复制代码 |
alias test='test() { echo $1; };test' [hadoop@NN069186 dev]$ source ~/.bashrc |
下例截取自我为方便使用 Octopress 撰写 Blog 而定义的 alias:
代码如下 | 复制代码 |
alias pn='new() { bundle exec rake new_post["$1"] }; new' |
这里,我通过定义 new() 函数来将 $1 参数传递给别名 pn。现在只需执行:
代码如下 | 复制代码 |
pn 'post title' |
就可以新建一篇 post 了。
另一个用于提交 source 的 alias:
代码如下 | 复制代码 |
alias pc='commit() { git add .; git commit -m "$1"; git push origin source }; commit' |