zsh shell 中的高级别名

zsh shell 中的高级别名

我在 ArchLinux 上使用 zsh shell,我想知道是否有一种简单的方法来创建“高级”别名。

普通别名可以正常工作。但是我找不到为替代创建别名的方法,例如:

git clone git@home:some-repo.git

git clone [email protected]:repositories/some-repo.git

有没有简单的方法可以直接在 zsh 中使用别名(或类似的东西)来执行此操作?当然它应该是通用的,所以我不需要为每个存储库上的每个 git 操作都使用别名。

提前谢谢!

答案1

在这种特殊情况下,您可以通过 git 而不是 zsh 来完成此操作。将以下内容添加到您的~/.gitconfig

[url "[email protected]:repositories/"]
    insteadOf = "home:"

现在git clone home:some-repo.git(和其他 git 命令)将使用正确的 repo。

在更一般的情况下,如果你想要执行比别名允许的更高级的命令替换,请查看shell 函数

相关内容