ssh 能自动补全吗?

2018-08-09 13:25:25 +08:00
 warcraft1236

比如我在 .ssh/config 中配置了服务器的名字,我怎么能 ssh <tab> 就能补全这些名字呢?</tab>

5782 次点击
所在节点    Apple
17 条回复
aibangjuxin
2018-08-09 13:42:57 +08:00
那为何不直接 vi .zshrc 直接 alias 就行了么
比如
alias ffqroot="ssh root@42.6 -A"
alias qq="ssh root@119.4"
alias meiguo="ssh abc@ -A"
alias hp="ssh root@110 -A"
alias ffq10="ssh xule@8 -A"
beaconfire
2018-08-09 13:46:04 +08:00
hosts 了解一下
ArthurKing
2018-08-09 13:47:24 +08:00
试试 zsh,上下键切换
siyhust
2018-08-09 13:48:24 +08:00
Loyalsoldier
2018-08-09 13:49:56 +08:00
https://github.com/zsh-users/zsh-autosuggestions

只要之前输入过一次,zsh 的插件应该都可以自动补全
jasonyang9
2018-08-09 13:55:17 +08:00
输入命令时是 Shell 在处理,所以应该由 Shell 帮忙才行
good
2018-08-09 14:18:18 +08:00
可以试试这个 ssh 命令行管理工具
https://github.com/samblabla/myssh
zjb861107
2018-08-09 14:30:33 +08:00
git 的自动补全是通过 bash-completion 这个工具来实现的,参考一下写个自己的自动补全应该可以吧。。。
yangg
2018-08-09 15:47:38 +08:00
bash 的话 加下面的到 bashrc
[ -e ~/.ssh/config ] && complete -o nospace -W "$(perl -ne 'print "$1 " if /^Host (.+)$/' ~/.ssh/config)" ssh

zsh 我就不说了。
https://github.com/yangg/dotfiles
warcraft1236
2018-08-09 16:05:51 +08:00
@yangg
屌屌屌,管用,学习了
3d3ec7a
2018-08-09 16:06:45 +08:00
mac 自带 bash 的话, brew install bash-completion .

不过自带 bash3 有点老. bash4 另议. 其他 shell 另另议.
ZRS
2018-08-09 18:25:37 +08:00
bash-completion 就可以
input2output
2018-08-09 19:06:58 +08:00
zsh, 输入 ssh 再加一点内容 然后 上键,可以得到上回记录
SpringHack
2018-08-09 19:35:11 +08:00
我更懒,写了个命令连接

https://github.com/springhack/boot2env

里面的 boot2env,配置好 ~/.ssh/auto_login 之后再也不用输密码了

然后发布到 npm 了
randyzhao
2018-08-10 02:55:04 +08:00
我都是懒到用 alias 代替的。。。
warcraft1236
2018-08-10 12:34:36 +08:00
@3d3ec7a 想知道 bash3 和 4 的区别在哪?
pcmid
2018-08-10 14:28:50 +08:00
用 zsh 补全 alias 的路过

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/478249

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX