如何给这个 git 复杂的 git 命令加上单引号和双引号的 git 别名
我正在尝试为此命令创建一个 git 别名:
git branch -vv | grep ': gone]'| grep -v "\*" | awk '{ print $1; }' | xargs -r git branch -d
我尝试了不同的操作:用“”将命令括起来,添加!管道需要...但我无法使该命令在别名内工作。 你有什么想法吗?
谢谢!
Im trying to create a git alias to this command:
git branch -vv | grep ': gone]'| grep -v "\*" | awk '{ print $1; }' | xargs -r git branch -d
I've tried different things: enclosing the command with "", adding ! is needed for the pipes... but I cannot make the command work inside the alias.
Do you have any idea?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要费心让它成为别名。只需将其放入
$PATH
中名为git-mycommand
的文件中即可(可能是~/bin
);现在您可以运行 git mycommand ,它将运行该脚本。话虽如此,这可能会起作用:
Don't bother making it an alias. Just drop it into a file named
git-mycommand
somewhere in your$PATH
(maybe~/bin
); now you can rungit mycommand
and it will run that script.Having said that, this might work:
一种替代方法是将命令包装在别名内定义的 shell 函数中:
以
!
开头的别名将被解释为 作为 shell 命令。在本例中,您只需定义一个名为f
的 shell 函数,然后直接调用。请记住,您必须转义函数内的任何
"
字符。One alternative is to wrap the commands in a shell function defined inside an alias:
An alias that starts with
!
will be interpreted as a shell command. In this case, you simply define a shell function namedf
and then you invoke directly.Keep in mind that you'll have to escape any
"
characters inside the function.