bash命令补全工具bash-completion

什么是shell ?

简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。

打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些。

回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。

bash 是 linux 环境下面的命令行终端,对于命令和路径能自动补全,bash-completion则是对bash补全功能的一个增强,增加了对参数和包名的补全;

简单理解:【Bash简介 & Bash是如何处理命令的】

Ubuntu 环境安装【bash-completion】:

  • 确认 /etc/bash_completion 是否存在,如果没有就安装一个;
apt install bash-completion

 安装完成 /etc目录会出现一个bash_completion文件;

  • 在用户的shell中运行;
source /etc/bash_completion

 也可以将其加入配置文件中;

  • 编辑文件,vi /etc/bash.bashrc 

取消上面的 if elif 的#符号注释,如下所示:

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
  •  重新切换 bash 解释器,#bash

此时输入 apt 命令,按【tab】键,显示如下:

k8s 环境中 bash 自动补全:

  • 确认 /etc/bash_completion 是否存在,如果没有就安装一个(同上);
  • 导入 bash 自动补全的命令;
source <(kubectl completion bash)
  • 重新切换 bash 解析器,#bash

以上操作安装好依赖包后,重新进入一下终端即可生效,输入kubectl 查看所有命令,按【tab】键,显示如下:

 

提示:

  • 一切正常的话,就可以使用Tab健自动补全的功能了;
  • 如果还是不能Tab健补全的话,可以退出命令行,然后再重新打开终端;(推荐使用)
  • 或者重启系统以启动该软件 也可以;

 

猜你喜欢

转载自blog.csdn.net/ChaITSimpleLove/article/details/109440590