我最新最全的文章都在 南瓜慢说 www.pkslow.com ,欢送大家来喝茶!

1 前言

主动命令补全是十分有用的性能,特地是当命令有特地多参数时。显然,docker/kubectl就是这样的命令。咱们来看看如何进行命令补全。

2 查看目前应用的shell

查看以后零碎所反对的shell有哪些:

$ cat /etc/shells # List of acceptable shells for chpass(1).# Ftpd will not allow users to connect who are not using# one of these shells./bin/bash/bin/csh/bin/dash/bin/ksh/bin/sh/bin/tcsh/bin/zsh

查看以后的shell的几种办法:

# 查看环境变量$ echo $SHELL/bin/bash# 打印过程名$ echo $0-bash# 查看过程$ ps  PID TTY           TIME CMD66162 ttys005    0:00.68 -bash# 间接敲一个不存在的命令,报错信息会显示$ pkslow-bash: pkslow: command not found

3 为kubectl增加主动补全

通过命令kubectl completion -h寻求帮忙:

查看bash版本:

$ bash -versionGNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19)Copyright (C) 2007 Free Software Foundation, Inc.

装置bash-completion

brew install bash-completion

复制kubectl completion bash到completion目录:

$ kubectl completion bash > $(brew --prefix)/etc/bash_completion.d/kubectl

查看要增加到.bash_prfile的语句:

$ brew info bash-completion==> CaveatsAdd the following line to your ~/.bash_profile:  [[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"Bash completion has been installed to:  /usr/local/etc/bash_completion.d

把下面的[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"增加到.bash_profile文件即可。

实现以上步骤,再使.bash_profile失效即可应用了。在应用命令时,用Tab补全命令即可,如果前缀不是惟一辨认,会把所有抉择列出来:

$ kubectl get sesecrets          serviceaccounts  services 

4 为docker命令也增加主动补全

有了后面的根底就简略多了:

$ cd /usr/local/etc/bash_completion.d$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion

从新关上一个终端即可应用了。

5 总结

对于简单的命令,增加主动命令补全还是十分有必要的,能够提高效率,缩小谬误。


欢送关注微信公众号<南瓜慢说>,将继续为你更新...

多读书,多分享;多写作,多整顿。