gpt4 book ai didi

shell - zsh - 调用结束时没有空格的别名

转载 作者:行者123 更新时间:2023-12-04 01:56:08 25 4
gpt4 key购买 nike

我想要一个像这样的别名:

alias gra-bitbucket="gra origin https://gismoranas@bitbucket.org/gismoranas"

这样我就可以像这样使用它:

gra-bitbucket/some-repo.git

将新源添加到 git 存储库(gra 是 oh-my-zsh! 别名)。

我的问题是我不想每次都写完整的 url。它一定不能是别名,但最好有一个单行设置。

最佳答案

请注意,这是为原始问题编写的,它没有消除歧义,它是否指定了别名调用的“末尾没有空格”,或者别名定义的代码和用户提供的代码之间没有空格调用命令中的代码。


不要为此使用别名;函数是更好的工具。

gra-bitbucket() { gra origin https://gismoranas@bitbucket.org/gismoranas"$@"; }

如果您的 shell 是(旧版本的)bash 而不是 zsh,您可能需要使用 function 关键字来定义名称中带有破折号的函数(这在 POSIX 规则下是不允许的) ).因此:

# this version works with bash as well (but not POSIX sh)
function gra-bitbucket { gra origin https://gismoranas@bitbucket.org/gismoranas"$@"; }

...或者,如果您想与任何 POSIX shell 兼容,请从名称中删除 -(在本例中,替换为 _):

# this version works with all POSIX shells
gra_bitbucket() { gra origin https://gismoranas@bitbucket.org/gismoranas"$@"; }

在所有这些情况下,用法(除了 POSIX 形式中的名称更改)与您想要的别名的用法相同,如果该别名可能的话:

gra-bitbucket /some-repo.git

...将引用 https://gismoranas@bitbucket.org/gismoranas/some-repo.git

关于shell - zsh - 调用结束时没有空格的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36133855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com