inputssh后,当我完成标签填写时,我得到一个我可以ssh进入的服务器列表。 我怎样才能得到一个单一的命令相同的名单?
伪命令是:
ssh --list-available-servers
我无法find/usr/share/bash-completion/completions/ssh的技巧
你可以在函数_ssh()的结尾看到ssh的configuration文件和以后的地方
_known_hosts_real -a -F "$configfile" "$cur"
这是从已知的主机文件中提取主机名称。
你可以手工调用这个命令,但是结果是以variables返回的,而不是写出来的:
$ . /usr/share/bash-completion/completions/ssh # doesn't have to be required $ COMPREPLY=(); _known_hosts_real -a "" && echo ${COMPREPLY[*]}
您将从已知主机文件( ~/.ssh/known_hosts )中获取build议主机的列表。
如果你还想要configuration文件的信息,你还需要添加configuration文件参数:
$ COMPREPLY=(); _known_hosts_real -F ~/.ssh/config -a "" && echo ${COMPREPLY[*]}