当前位置:   article > 正文

bash命令补全工具bash-completion

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 的#符号注释,如下所示:

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

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

 

k8s 环境中 bash 自动补全:

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

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

 

提示:

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

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号