如何在bash别名中扩展命令?

Shreyans

我想创建一个可以运行的别名 git pull origin <current branch name>

我可以使用获取当前的分支名称git rev-parse --abbrev-ref HEAD

但是,如何将第二个命令放在bash别名的第一个命令中?

我试过了

alias gup="git pull origin `git rev-parse --abbrev-ref HEAD`"

alias gup="git pull origin $(git rev-parse --abbrev-ref HEAD)"

但两者都会在别名中产生初始分支名称,而不是在运行命令时产生的分支名称。

切普纳

直接的问题是,定义别名后,命令分站会在双引号内展开使用单引号将通过推迟命令替换直到您实际使用别名来解决此问题。

alias gup='git pull origin $(git rev-parse --abbrev-ref HEAD)'

但是,您可以省去尝试使用shell函数来获得正确报价的麻烦。

gup () {
    git pull origin $(git rev-parse --abbrev-ref HEAD)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章