首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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 类型为整数,表示光标在当前命令行的哪个位置

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

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

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

2.7K30

使用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 补全是一个方便的工具,它会很乐意提醒你所需命令可用的子命令。但是,它无法帮助你处理与子命令关联的各种选项。

8810

Cobra 命令自动补全指北

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

2.5K20

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.2K90

Python 命令补全工具 argcomplete

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

21930

Linux进阶命令和Shell编程

1.高级文本命令——sed1.1sed简介 sed全称是:Stream EDitor,即流编辑器,是一个很好的文本处理工具,本身是一个管道命令,处理时,把当前处理的行存储在临时缓冲区中,接着用sed命令处理缓冲区中的内容...练习: 3.高级文本命令——cut、wc、sort3.1cut命令 cut命令可以从一个文本文件或者文本流中提取文本列,有点类似于java中的split(分割)。...wc语法: 示例: 3.3sort 命令 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。...sort语法: 例如: 4.Shell编程4.0Shell介绍 Shell是用户与内核进行交互的一种接口,目前最流行的Shell是bash Shell;Shell也是一门编程语言(解释型的编程语言),即...4.5read命令 命令规则:read -p "提示语句" 参数,这个类似于java中的Scanner,就是获取用户在控制台输入的内容。

1.6K80

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 ? 注意:最后一步不要忘记重启终端

3.5K10
领券