我想为现有函数创建一个别名来传递一些参数。此外,别名应该能够获取原始函数的任何标志并正确解析它们。在我的具体情况下,我使用的是ag。
使用zsh
时,我只需添加.zshrc
文件
alias -g ag="ag --nogroup --smart-case"
如何在仅限bash的环境中获得相同的效果?代码
myfunc() {
ag --nogroup --smart-case "$*"
}
alias ag=myfunc
适用于基本情况(即ag hello
),但不接受ag hello --context 2
答案 0 :(得分:3)
使用正确的参数替换很重要。
ag() {
command ag --nogroup --smart-case "$@"
}
答案 1 :(得分:0)
由于这种情况很简单(所有额外的参数都在最后),别名就足够了:
nanosleep
alias ag="ag --nogroup --smart-case"
选项对bash -g
无效。