是否有一个 zsh 等同于 function-in-alias 习语?

Is there a zsh equivalent to the function-in-alias idiom?

多年 年后,我开始尝试 zsh。我有

alias rsync='rsync -av --progress --stats --human-readable'

在我的 bash.profile

中还有很多这样的别名
alias workin='function _workin(){ rsync -avE --progress --stats --human-readable -e ssh me@:/there/ /here; };_workin'

我一直想不出如何让它在 zsh 中工作。我不断收到 'no matches found' 之类的错误。有任何想法吗?提前致谢!

我不确定为什么我在 bash 中使用别名中的函数:这​​是很久以前的事了,习惯很难改变。 123 和 melpomene 在评论中向我展示了方法,所以如果有人想在 zsh 中做同样的事情,这里有一个很好的 StackExchange 解释更好的方法:https://unix.stackexchange.com/questions/33255/how-to-define-and-load-your-own-shell-function-in-zsh

bashzsh中的解决方案是完全取消别名。

workin () {
  rsync -avE --progress --stats --human-readable -e ssh me@"":/there/ /here
}

(是否需要引用 </code> 取决于您使用的设置;<code>zsh 在某种程度上 too 可配置。但是,它赢了引用它伤害,所以我会在这里引用。)