带参数的别名

dem*_*mas 18 linux shell zsh

如果有可能在zsh别名中使用参数?像这样的东西:

 alias ssh_nokia="ssh root@<ip_parameter>"
Run Code Online (Sandbox Code Playgroud)

用法:

 ssh_nokia 192.168.1.2
Run Code Online (Sandbox Code Playgroud)

Mic*_*ker 23

在您的特定情况下编辑〜/ .ssh/config(参见下面的Dave答案),或使用:

alias ssh_nokia='ssh -l root'
Run Code Online (Sandbox Code Playgroud)

通常

ssh_nokia() {
    ssh root@"$@"
}
Run Code Online (Sandbox Code Playgroud)

相当于别名(将产生ssh root@1stparam 2ndparam 3rdparam …).

  • 或者只是"$*"来获取命令行的其余部分. (3认同)

Dav*_*ave 8

我会用来~/.ssh/config为特定连接创建一个别名,如下所示:

Host=anyoldname
Hostname=[hostname or ip address]
User=root
Run Code Online (Sandbox Code Playgroud)

然后你可以:

$ ssh anyoldname
Run Code Online (Sandbox Code Playgroud)

更多信息:

$ man ssh_config
Run Code Online (Sandbox Code Playgroud)