Oh My Zsh如何使用一个别名执行多个命令

38
我正在使用Oh My Zsh,想知道是否有一种方法可以创建一个函数或别名来运行多个命令。举个例子,运行“更新”命令将会更新特定的 gem,而不是所有 gem。

1
解决了,别名为“something; something else”。 - snakesonatoni
2个回答

77

正如您所发现的那样,您可以使用 ; 在单个别名中链接命令:

alias update_my_gems="echo foo; echo bar"

或者,您可以在~/.zshrc文件中非常容易地编写一个函数:

update_my_gems() {
    echo foo
    echo bar
}
为了提高可读性,我个人会选择使用函数来处理一些半复杂的内容。

2
我会默认使用函数来处理任何事情,除非有一个别名更好的理由(这种情况很少见)。 - chepner
我最终做了一个和那个函数完全一样的函数。谢谢! - snakesonatoni
@snakesonatoni,你知道一种有效的方法来替换一个接受参数的OMZ别名吗?我一直没有什么好运:https://dev59.com/Nbroa4cB1Zd3GeqPgkLo - Steven Choi

2

如果有很多命令,我认为将位于我的主目录中的.sh文件的执行别名化会很有用。

alias start_containers="./start-containers.sh"

为了将别名放入配置文件中,您可以执行以下操作:
echo alias start_containers="./start-containers.sh" >> ~/.zshrc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接