是否可以根据~/.ssh/config
文件中的标签对主机进行分组并在自动完成中使用它?
例如,master
组中有 2 个主机(host-1
和host-2
),slave
组中有 3 个主机(host-3
,host-4
和host-5
)。
我想要实现的是,每当我输入ssh sl
并按下 Tab 键时,它都会自动扩展为ssh slave
3 个主机(3、4 和 5)可供自动完成供我选择。
我现在看到的唯一选择是将标签值硬编码到Host
,这很丑陋,例如:
Host host-1_master
Hostname host1
Host host-2_master
Hostname host-2
Host host-3_slave
Hostname host-3
Host host-4_slave
Hostname host-4
Host host-5_slave
Hostname host-5
答案1
您可以为主机名定义多个“别名”。以下配置应该适合您:
Host host-1_master master1
Hostname host1
Host host-2_master master2
Hostname host-2
Host host-3_slave slave1
Hostname host-3
Host host-4_slave slave2
Hostname host-4
Host host-5_slave slave3
Hostname host-5
如果你想在终端内使用一个漂亮的下拉菜单,你应该看看fzf
哪些支持ssh 主机名补全。