K8S 命令自动补全
1、安装bsah-completion工具
# bash-completion是对bash工具对一个补全的一个增强,可以自动补全包名和文件名等
yum install bash-completion -y
2、执行bash_completion
source /usr/share/bash-completion/bash_completion
3、加载kubectl completion
# kubectl completion bash命令是获取k8s上的资源信息
# source是将获取到的k8s的信息存储在计算机此次访问的资源中,当重新启动命令时会重新获取k8s的资源
source <(kubectl completion bash) # 临时生效
# 将计算机此次获取的k8s资源写入到计算机中的~/.bashr文件中,使其永久生效
echo "source <(kubectl completion bash)" >> ~/.bashrc # 永久生效 方法一
# 将k8s资源写入到bash-completion的补全脚本中文件中,从而实现永久k8s资源的永久化
kubectl completion bash >/etc/bash_completion.d/kubectl # 永久生效 方法二
4、为kubectl命令起一个别名
# 对命令行起别名,都下面是对kubectl起了一个别名k,也可以将git命令修改为g
# 命令别名的格式: alias '命令别名'='原命令'
# 注意: 在修改完~/.bashrc文件后, 记得执行 'source ~/.bashrc' 命令使其立即生效
alias k=kubectl # 在文件~/.bashrc文件中新增一行
5、使别名和自动补全同时生效
# 使用别名和bash-completion同时生效
complete -F __start_kubectl k
总结
# 在~/.bashrc文件中添加以下内容,可以实现k8s命令的自动补全和别名
alias k='kubectl'
source <(kubectl completion bash)
# 这句不加的话用kubectl可以使用Tab键自动补全,但是别名k不能使用Tab键自动补全
complete -F __start_kubectl k
# 注意: 记得'source ~/.bashrc'刷新资源及时生效