文档章节

bash complete -C command

__赵小刚__
 __赵小刚__
发布于 2017/09/30 13:33
字数 358
阅读 22
收藏 0

bash的自动补全机制三件套complete/compgen/compopt之一的complete有一个参数是-C command,

这个参数的用法在帮助里面有点语焉不详

-C command
    command is executed in a subshell environment, and its output is used as the possible completions.

在子shell中执行命令, 并将其结果作为补全条目

所以我尝试摸索了一下它的套路

脚本auto_complete.sh

#!/bin/bash
echo 脚本名字:$0 命令名字:$1 当然参数:$2 前一个参数:$3

将auto_complete.sh作为app1命令的补全脚本

complete -C ./auto_complete.sh app1

辣么(注:<tab>是按TAB键的意思)

app1 <tab>
app1 脚本名字:./auto_complete.sh 命令名字:app1 当然参数: 前一个参数:app1
app1 100<tab>
app1 脚本名字:./auto_complete.sh 命令名字:app1 当然参数:100 前一个参数:app1
app1 888 999<tab>
app1 888 脚本名字:./auto_complete.sh 命令名字:app1 当然参数:999 前一个参数:888
app1 10 20 30 40 50<tab>
app1 10 20 30 40 脚本名字:./auto_complete.sh 命令名字:app1 当然参数:50 前一个参数:40

总结一下,

complete -C command 在子shell中执行命令command, 并将其结果作为补全条目

传递的command的参数有4个,分别是 command的名字 命令的名字 当前(待补全)的参数 前一个参数

command的输出是一行时自动补全,

command的输出是多行时每一行代表一个候选词, 列出供选择

© 著作权归作者所有

共有 人打赏支持
__赵小刚__
粉丝 5
博文 40
码字总数 19021
作品 0
成都
程序员
加载中

评论(1)

Maxwell1987
Maxwell1987
当然当前?
git在各操作系统平台下的安装和配置

git在各操作系统平台下的安装和配置 标签 : git [TOC] 本文是git系列博客的第一篇,主要介绍git在windows,linux,Mac OX等不同操作系统下的安装和配置,主要以后两者为主。 工具下载 ubuntu: ...

brianway
2016/08/07
30
0
Bash readline 的使用技巧(RT)

Bash readline 的使用技巧 很多人会用 Bash,但是很少有人知道 readline 是怎么回事。readline 是一个强大的库,只要使用了它的程序,都可以用同一个配置文件配置,而且用同样的方法操作命令...

红薯
2009/05/06
432
0
Clink(Powerful Bash-style command line editing )

Powerful Bash-style command line editing for cmd.ex 一个类似linux的bash的cmd插件。 我们可以在windows 下的cmd.exe 支持c-a c-e c-b c-f a-b a-f.... 点击clink.bat以后,在运行 clink ......

红烧土豆
2014/10/14
0
0
How to download embedded videos with F12 Tools in

How to download embedded videos with F12 Tools in Scott Hanselman's Blog2017-11-291 阅读 Tools I got an email this week asking how to download some of my Azure Friday video podc......

Scott Hanselman's Blog
2017/11/29
0
0
supervisor开启postgresql

想通过supervisor开机启动postgresql supervisor配置文件 [program:postgresql_server] command=/bin/bash -c "exec /usr/local/postgresql9.6.2/bin/pgctl start -l /usr/local/postgresql......

千里之行12
2017/04/25
124
2

没有更多内容

加载失败,请刷新页面

加载更多

kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
41分钟前
2
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
14
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部