首页
学习
活动
专区
圈层
工具
发布

Linux Shell命令自动补全的实现

实现思路 在 linux shell 下本身有着体验极佳的命令补全功能,即[Tab][Tab]。现通过自定义该程序的命令补全脚本实现命令补全。...重点说明 执行shell 函数,函数中生成COMPREPLY作为候选的补全结果 compgen(筛选命令) 用来筛选生成匹配单词的候选补全结果 [root@localhost ~]# help compgen...compopt(修改补全命令设置) 用于修改补全命令设置,这个命令必须在补全函数中使用,否则会报错。...重点说明: Parameter description +o option 启用 option 配置 -o option 弃用 option 配置 内置补全变量 除了上面三个命令外,Bash还有几个内置变量来辅助补全功能...类型为数组,候选的补全结果 COMP_WORDBREAKS 类型为字符串,表示单词之间的分隔符 COMP_LINE 类型为字符串,表示当前的命令行输入字符 COMP_POINT 类型为整数,表示光标在当前命令行的哪个位置

6.9K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mac终端命令补全设置(docker 命令补全)

    终端命令补全 当我们输入一个命令的时候不会有提示,比如输入docker,后面没有命令提示 1️⃣:在~/.zshrc文件末尾添加以下 autoload -Uz compinit && compinit...autoload -Uz compinit 是zsh的命令,用于加载自动补全的模块。...compinit 是zsh内建的函数,它会初始化并加载自动补全的配置。 具体解释如下: autoload 命令用于加载zsh函数的定义。-Uz 选项表示加载并压缩函数定义,减少内存占用。...compinit 函数用于初始化并加载自动补全的配置。它会扫描已安装的自动补全脚本,并将它们加载到当前的zsh环境中,以便提供命令补全的功能。...通过运行这个命令,你可以启用zsh的自动补全功能,以便在使用docker命令时获得命令补全的提示。

    82010

    Linux 提高操作效率之 tab 命令补全

    最近在使用阿里云 ECS 时,发现 Centos 无法进行 tab 补全,特别影响操作效率,本文简单记录下 Linux 下的 tab 命令补全功能,希望对 Linux 初学者有所帮助。...安装 Linux 最小化安装时,是没有 tab 命令补全的,需要自己手动安装。...# 安装 $ yum -y install bash-completion # 重新登录生效 命令补全 默认情况下,在 Linux 中提供下列补全功能: 变量补全 用户名补全 可执行命令补全 文件名和目录补全...可执行命令补全 在执行命令时,如果找到单个匹配项的可执行文件,则一个 tab 就会将可执行命令自动补全。...与可执行命令补全类似,找到单个匹配项时,一个 tab 自动补全,两个 tab 列出所有匹配项。

    3.6K30

    使用Bash补全简化Linux和Docker命令行

    通过 Tab 键,Bash 补全可以自动补全您最棘手的 Linux 和 Docker 命令。以下是设置方法。...在 Linux 上,如果我键入“do”并使用制表符补全(通过按键盘上的 Tab 键),我可能会看到以下内容:do、dockerd-rootless-setuptool.sh、docker、dockerd-rootless.sh...但是,当您需要快速回忆一个子命令时,您该怎么做?嗯,有一个小应用程序可以帮助您解决这个问题。所讨论的应用程序称为 Bash 自动补全,它可以从 大多数 Linux 发行版 的标准存储库中获得。...现在,Bash 自动补全应用程序适用于 Linux 命令,因此您只需安装它即可开始使用。但是,对于 Docker,您必须执行一个额外的步骤才能使其正常工作。 在我们开始之前,让我们安装此应用程序。...警告 Bash 补全是一个方便的工具,它会很乐意提醒你所需命令可用的子命令。但是,它无法帮助你处理与子命令关联的各种选项。

    1.1K10

    8.3 命令补全和别名

    命令补全及别名目录概要 tab键,敲一下,敲两下 参数补全,安装 bash-completion alias别名给命令重新起个名字 各用户都有自己配置别名的文件 ~/.bashrc ls /etc/profile.d.../ 自定义的alias 放到 ~/.bashrc 命令补全 在centos6中,命令补全仅支持命令本身,参数是不能补全的 在centos7中,支持命令的参数补全 需要安装包bash-completion...——>yum install -y bash-completion 安装完成后,需要重启下虚拟机(reboot命令)才可生效 [root@hf-01 ~]# rpm -qa bash-completion...//查看包是否安装完成 bash-completion-2.1-6.el7.noarch 再来测试,会看到一条命令行都可以补全 alias别名 若是命令较长,可以设置别名 [root...hf-01 ~]# restartnet //设置别名后,重启网络服务 [root@hf-01 ~]# - 取消别名unalias - 在取消别名后,在输入别名,就会提示未找到命令

    1.9K90

    Cobra 命令自动补全指北

    这些 CLI 工具,都是基于 Cobra[1] 库开发,命令自动补全功能也是该库提供的一个功能,本篇文章就来讲讲如何使用 Cobra 实现命令自动补全的。...使用如下命令,即可生成用于命令自动补全的代码: $ cobra add completion 或者也可以创建 cmd/completion.go 文件,来放置用于生成命令自动补全脚本的代码: var completionCmd...completions:Bash:$ source Linux...,即可在你的 CLI 工具中新增 completion 子命令,执行该命令即可生成相应 Shell 的命令自动补全脚本,将其插入或保存到相应 Shell 的指定位置即可实现命令自动补全功能。...这里就需要用到自定义补全,通过为每个命令增加不同的参数或方法,可以实现静态和动态补全等功能。

    3.6K20

    Python 命令补全工具 argcomplete

    概述 在使用Python 命令或者 Python的命令行工具的时候,一个痛点是没有补全。...另外,像pip,pipx等命令也没有提示,使用不太方便。 偶然看到argcomplete[1]这个库,按tab键就可以给Python的命令行添加自动补全,简直是使用Python的一个神器。...pip命令进行补全 其他任何以argparse解析的第三方包的命令都可以用自动补全,添加argcomplete的几行代码就行 下面具体展开怎么对已有的工具启用自动补全,以及如何让自己的Python包支持...如何对别的第三方库启用自动补全 有些库的命令行程序是已经支持argcomplete补全,只需要用下面的命令来激活: eval "$(register-python-argcomplete 补全 只需要增加下面几行代码,就能让你的库的命令行支持自动补全: # 在ArgumentParser对象初始化前增加这两行 # PYTHON_ARGCOMPLETE_OK

    68630

    Mac系统 Git命令自动补全

    网上很多Mac的Git命令不全都是下载bash-completion到根目录修改~/.bash_profile然后刷新环境变量。但这并不是针对所有的mac系统,查了很多内容,终于找到了正确的姿势。...然后输入命令查看bash-completion文件信息 brew info bash-completion 信息如图,根据其提示把命令行加入mac的配置文件 ~/.bash_profile中 ?...在终端输入如下命令可以打开 .bash_profile文件 vim ~/.bash_profile ? 三....确定自己电脑安装的git版本 查看你的git版本,还没有安装git的可以自己通过brew安装,命令如下 brew install git 安装完git之后查看版本,通过命令 git --version...然后终端输入命令 brew unlink bash-completion brew link bash-completion ? 注意:最后一步不要忘记重启终端

    4.2K10

    shell编程——初识(linux基础命令)

    shell编程——初识(linux基础命令)随着技术的不断进步,命令行工具在软件开发和系统管理中扮演着越来越重要的角色。在众多命令行工具中,Shell脚本无疑是提高命令行工作效率的强大武器。...简单来说,Shell是操作系统的命令行解释器,它可以接收用户的命令并传递给操作系统执行。而Shell脚本则是由一系列命令和声明组成的文件,它能批量执行命令,实现自动化。...#linux中ping会一直执行,可以按ctrl+C中断 [root@xiaoge opt]# ping www.baidu.com PING www.a.shifen.com (180.101.50.188...sudo: 以其他用户身份执行命令。如sudo command。su: 切换用户。如su - user。...**小结:**以上是一些linux shell中常见命令基础用法,如需深入了解可自行资料检索或后台私信,共同学习,共同进步

    59700
    领券