bash命令补全工具bash-completion_bash 命令 补全_ChaITSimpleLove的博客-程序员秘密

技术标签: Linux  ubuntu  shell  bash-completion  linux  bash  

什么是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健补全的话,可以退出命令行,然后再重新打开终端;(推荐使用)
  • 或者重启系统以启动该软件 也可以;

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ChaITSimpleLove/article/details/109440590

智能推荐

Linux中strchr与strstr函数实现。_msvcrt.strstr_灵7的博客-程序员秘密

#ifndef __HAVE_ARCH_STRCHR/** * strchr - Find the first occurrence of a character in a string * @s: The string to be searched * @c: The character to search for */char *strchr(const char *s, int

nginx搭建静态页面网站_nginx搭网页_热气球、的博客-程序员秘密

网站服务主机配置文件 server配置信息为了方便看到的默认信息,先进行过滤注释和空行 grep -Ev "#|^$" default.conf.bak &gt;default.conf/etc/nginx/conf.d/default.conf server { listen 80; --- 定义网站服务监...

windows下安装nodejs多版本管理工具nvm-windows_Milly_Liu的博客-程序员秘密

前言作为进入猪场一个月的实习生,刚被安排接需求还是感觉很幸福的,当前的需求会涉及到7个不同的后台管理系统,这与目前在熟悉的跨境系统存在较大差异,会需要多个不同的node版本,这种情况下,安装nodejs多版本管理工具是很有必要的,版本切换也很方便。但是,nvm是Linux下常用的一个nodejs多版本管理工具,不能再Windows使用,Google就找到了nvm-windows,这是GitHub上的一个可以让我们在Windows下对nodejs进行多版本管理的项目,地址是:https://github.

C# TrackBar控件使用_宜臶瑏芯的博客-程序员秘密

Maximum属性:用来获取或设置TrackBar控件可表示的范围上限,即最大值。Minimum属性:用来获取或设置TrackBar控件可表示的范围下限,即最小值。SmallChange属性:用来获取或设置当滑块短距离移动时对Value属性进行增减的值。Value属性:用来获取或设置滑块在跟踪条控件上的当前位置的值。------其他控件调取的主要方式。Orientation

Python输出100到1000的所有水仙花数_python求100到1000之间的水仙花数的结果_量子西瓜的博客-程序员秘密

所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。def main(): for i in range(100,999): x=int(i%10) y=int(i/10%10) z=int(i/100) if x**3+y**3+z*...

模式识别复习简答题(1)_模式识别简答题[email protected]玲子的博客-程序员秘密

1什么叫模式识别模式识别是通过计算机利用数学技术来研究模式的自动处理,是对表征事物或现象的各种形式的信息进行处理和分析以及对事物或现象进行描述,辨认,分类和解释的过程。简而言之,模式识别就是将你不确定的东西进行正确分类的过程,具体手段当然是我伟大的数学啦!!!2模式识别的数据类型(1)二维图像(2)物理参量和逻辑值(3)一维波形图3模式识别预处理有些什么内容?预处理的目的是去除噪声...

随便推点

最简单的基于Flash的流媒体示例:网页播放器(HTTP,RTMP,HLS)_测试用flash媒体流_比较清纯的博客-程序员秘密

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ===========

Android底部导航栏点击切换变色_android 底部导航点击变色_cxy1109的博客-程序员秘密

底部导航栏切换是由RadioGroup中的RadioButton点击事件切换的,其实之前的文章中已经介绍了,但是在这里详细说明一下。1.1 底部导航栏的布局文件bottom_bar.xml如下:xml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.com/apk/r

安装Anaconda,命令行输入python,出现Warning_anaconda创建的虚拟环境中输入pythonwarning: this python inter_闲处好的博客-程序员秘密

Warning:This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see https://conda.io/activatio...

JVM的内存区域划分(*****)_jvm本地方法区存储了什么东西? - csdn博客_共勉的博客-程序员秘密

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。  概述:  对于从事C和C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的皇帝,又是从事最基础工作的劳动人民—既拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。  对于Java程序员来说,在虚拟机的自动内存管理机制

“个人总结”最基础博弈套路,实力山寨_bk基础套路_CerberuX的博客-程序员秘密

总结自kuangbin大神博客和其他查到的资料理论基础1、定义P-position和N-position:其中P代表Previous,N代表Next。直观的说,上一次move的人有必胜策略的局面是P-position,也就是“先手必败”,现在轮到move的人有必胜策略的局面是N-position,也就是“先手可保证必胜”。(1).无法进行任何移动的局面(也就是terminal position)是P

HTML:固定元素在屏幕某个位置,随水平滚动而移动_词源的博客-程序员秘密

目的 设置分页元素的距离右侧始终是 11px。不管水平滚动条怎么移动,都是 11px。 效果 思考1 可以使用表格的滚动事件。 每次移动都是相对最初位置计算的,所以只有右移。 取得水平滚动位置 a,计算 a-11 得到分页元素要右移的距离 b,相对的分页元素的右边距应为 -b。 效果1 基本察觉不出分页元素有移动痕迹。 思考2 通过计时器来实现。 每次移动都是相对上一...

推荐文章

热门文章

相关标签