我最新最全的文章都在 南瓜慢说 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 CMD
66162 ttys005 0:00.68 -bash
# 间接敲一个不存在的命令,报错信息会显示
$ pkslow
-bash: pkslow: command not found
3 为 kubectl 增加主动补全
通过命令 kubectl completion -h
寻求帮忙:
查看 bash
版本:
$ bash -version
GNU 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
==> Caveats
Add 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 se
secrets 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 总结
对于简单的命令,增加主动命令补全还是十分有必要的,能够提高效率,缩小谬误。
欢送关注微信公众号 <南瓜慢说>,将继续为你更新 …
多读书,多分享;多写作,多整顿。