complete是bash buildin命令,可以实现命令的tab补全
最简单的使用方式:
complete -W "192.168.1.1 192.168.1.2" ssh
这样在输入ssh 后,按tab可以提示+补全IP地址
很多运维同学登陆线上服务器的ssh tab补全使用了complete -F 函数功能,读取known_hosts里面的机器名进行提示补全。
网上的中文资料很少,分享一个最简单的实例给大家:
例:
编写一个文件名为god的文件,放置在/etc/bash_completion.d/,内容如下:
1 2 3 4 5 6 7 8 9 |
_god() { COMPREPLY=() local cur prev _get_comp_words_by_ref cur prev COMPREPLY=( $( compgen -W 'xiaomi noops blog' -- "$cur" ) ) return 0 } complete -F _god god |
重新登陆一下,然后输入god [TAB]
,就可以提示和补全xiaomi、noops、blog关键字了
5 Comments
代码看不到??
好了
zsh 用不了呢
你这个好
大家好,才是真的好,呵呵