bash 命令补全工具 bash-completion

简介: 什么是 shell ?简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在 shell 和计算机硬件之间还有一层东西那就是系统内核了。打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于 shell,把它比作人的五官似乎更加贴切些。回到计算机上...

什么是 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 

image.png

取消上面的 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】键,显示如下:

image.png

k8s 环境中 bash 自动补全:

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

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

image.png

提示:

  • 一切正常的话,就可以使用Tab健自动补全的功能了;
  • 如果还是不能Tab健补全的话,可以退出命令行,然后再重新打开终端;(推荐使用)
  • 或者重启系统以启动该软件 也可以;
目录
相关文章
|
6月前
|
Linux Shell Windows
4:Bash shell命令-步入Linux的现代方法
4:Bash shell命令-步入Linux的现代方法
98 0
|
关系型数据库 MySQL Shell
【Linux命令】-bash: mysql: command not found
【Linux命令】-bash: mysql: command not found
138 0
|
3月前
|
Kubernetes Shell Docker
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
|
3月前
|
缓存 Shell 开发工具
Git Bash⭐一、安装软件,与Git Bash基础命令
Git Bash⭐一、安装软件,与Git Bash基础命令
|
3月前
|
Kubernetes 监控 Shell
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
|
3月前
|
Shell Linux
在Linux中,哪⼀个bash内置命令能够进行数学运算?
在Linux中,哪⼀个bash内置命令能够进行数学运算?
|
3月前
|
缓存 Shell Linux
在Linux中,bash shell 中的 hash 命令有什么作用?
在Linux中,bash shell 中的 hash 命令有什么作用?
|
3月前
|
存储 Shell
Bash 脚本中的 `hash` 命令
【8月更文挑战第19天】
30 0
|
5月前
|
Unix Shell Linux
技术经验分享:Bash脚本命令使用详解
技术经验分享:Bash脚本命令使用详解
44 0
|
6月前
|
Shell
shell 命令(一)概述【别名、 bash重定向 、定义变量】
shell 命令(一)概述【别名、 bash重定向 、定义变量】
59 0