nyagos解析ssh_config
2022-05-01 • 更新于 2023-04-27 • 预计阅读时间 1 分钟
2022-05-01 • 更新于 2023-04-27 • 预计阅读时间 1 分钟
近期在工作中要管理的linux主机有点多,但是更多的场景是在windows下使用.导致不能利用如 fish-shell
那种ssh自动补全.
发现一个NYAGOS - The hybrid Commandline Shell between UNIX & DOS的shell.支持用 lua
来增加一些特性.而且提供按照程序增加自动补全功能.
写下了面这段代码,就可以实现如 fish-shell
的那种利用 tab
自动补全了.
nyagos.complete_for["ssh"] = function(args)
if #args == 2 then
local server_list = {}
local ssh_config_file = nyagos.env.userprofile .. "\\.ssh\\config"
local f = io.open(ssh_config_file, 'r')
if f then
local line = f:read("*l")
while line do
if line:find("Host ") == 1 and line:find("*") == nil then
local host = line:gsub("Host ", "")
table.insert(server_list, host)
end
line = f:read("*l")
end
f:close()
return server_list
else
return nil
end
end
end
nyagos
相对于 powershell
少了许多特性,更贴近原生的 cmd=
.目前来说胜在启动速度快.做为一个专门处理 ssh
相关的 shell
来说还是不错的.