如何将需要参数的csh别名转换为zsh别名

如何将需要参数的csh别名转换为zsh别名,zsh,zshrc,Zsh,Zshrc,使用时,我使用此别名: alias s autossh -M 0 -t \!:1 \"tmux -2 attach -t $USER\!:2 -d \|\| tmux -2 new -s $USER\!:2 \" 这可以帮助我通过使用以下方式ssh到远程服务器: s 10.11.12.3 X 其中X是远程会话的后缀$USERX,如果远程会话不存在,我可以附加或创建远程会话 我目前正在使用,但希望继续使用相同的别名,因此我想知道如何正确地将此别名转换为在zsh下工作。使用shell函数。csh

使用时,我使用此别名:

alias s autossh -M 0 -t \!:1 \"tmux -2 attach -t $USER\!:2 -d \|\| tmux -2 new -s $USER\!:2 \"
这可以帮助我通过使用以下方式ssh到远程服务器:

s 10.11.12.3 X
其中X是远程会话的后缀$USERX,如果远程会话不存在,我可以附加或创建远程会话

我目前正在使用,但希望继续使用相同的别名,因此我想知道如何正确地将此别名转换为在zsh下工作。

使用shell函数。csh使用别名只是因为它没有函数

s () {
    autossh -M 0 -t "$1" "tmux -2 attach -t $USER$2 -d || tmux -2 new -s $USER$2 "
}
我想我正确地替换了参数,但是自从我使用csh以来已经有几十年了