海诗网 知识百科 linux命令自动补全(linux自动补全)

linux命令自动补全(linux自动补全)

linux命令自动补全, linux系统下如何命令自动补全?下面具体介绍一下。

输入“命令的前几个字符”,然后按TAB键自动完成。比如我想改密码,但是我只记得这个命令的前几个字母是pass。这时候按Tab键,shell会自动输出passwd命令,非常方便。

linux自动补全

扩展信息:

在shell命令行中,可以使用“Tab”键自动完成命令或文件名。这个功能其实可以在shell脚本中实现,这样使用“Tab”键就可以自动完成自定义shell功能。有三个相关的命令。

Compgen, finish and composite materials.

1. Compgen:

compgen [option] [word]

Compgen命令根据选项生成可能与word匹配的补全,并将它们打印到标准输出中。这些选项可以是内置命令complete支持的任何选项,但不能是“-p”和“-r”。如果使用“-F”或“-C ”,

仍然可以使用由可编程完成函数设置的shell变量,但是它们的值不起作用。补码条目以相同的方式生成,就像可编程完成代码直接生成具有相同完成选项的完成条目一样。如果指定了word,

仅显示匹配的条目。

2. Complete:

complete [-abcdefgjksuv] [-o comp-option] [-DE] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name .]

complete -pr [-DE] [name .]

complete命令指定如何完成每个名称。如果指定了选项“-p”或者没有指定选项,那么现有的完成方法将以一种可以作为输入重用的格式打印。选项“-r”用于删除具有指定名称的完成方法。

一种删除所有名字而不指定名字的完成方法。选项“-D”意味着下面的选项和动作将应用于默认的命令完成,这意味着之前未定义的完成命令也可以完成。选项“-E”表示以下选项和操作将应用于空命令完成,

也就是说,填空行。选项"-G "、"-W "、"-X "、"-P "和"-S "应该用括号保护起来,以防止它们在完成之前被展开。

"-o bashdefault ":如果没有生成完成条目,将使用bash默认的其他完成。

"-o default ":如果没有生成完成条目,将使用默认文件名" readline "来完成。

"-o dirnames ":如果没有生成完成条目,将完成目录名。

"-o filenames ":告诉" readline "为与文件名相关的处理生成文件名,例如在目录名后添加斜杠、引用特殊字符以及删除shell函数行尾的空格。

"-o noquote ":告诉" readline "不要引用文件名,而是默认引用它。

“-o nospace”:告诉“readline”不要在完整名称后添加空格,而是默认添加空格。

"-o plusdirs ":完成条目后,将完成目录名,并将结果添加到其他操作获得的结果中。

“-a别名”:别名,与选项“-A”相同。

“-A arrayvar”:数组变量名。

“-A binding”:“readline”键绑定名。

“-A builtin”:shell内建命令名,同选项“-b”。

“-A command”:命令名,同选项“-c”。

“-A directory”:目录名,同选项“-d”。

“-A disabled”:不可用的shell内建命令名。

“-A enabled”:可用的shell内建命令名。

“-A export”:导出的shell变量名,同选项“-e”。

“-A file”:文件名,同选项“-f”。

“-A function”:shell函数名。

“-A group”:组名,同选项“-g”。

“-A helptopic”:内建命令help支持的帮助主题。

“-A hostname”:主机名,从shell环境变量HOSTFILE中获取。

“-A job”:作业名,同选项“-j”。

“-A keyword”:shell保留字,同选项“-k”。

“-A running”:正在运行的作业名。

“-A service”:服务名,同选项“-s”。

“-A setopt”:内建命令set的选项“-o”可用的参数。

“-A shopt”:内建命令shopt可接受的选项名。

“-A signal”:信号名。

“-A stopped”:暂停的作业名。

“-A user”:用户名,同选项“-u”。

“-A variable”:所有的shell变量名,同选项“-v”。

“-C command”:在子shell中执行命令,并把其结果作为补全条目。

“-F function”:在当前的shell环境中执行函数function,执行时,参数“$1”表示那个参数正在进行补全的命令名,参数“$2”表示补全的名称,参数“$3”表示补全的名称前面的单词,

表示结束执行时,从数组变量COMPREPLY中获取补全条目。

“-G globpat”:使用文件名扩展模式globpat进行扩展以生成可能的补全条目。

“-P prefix”:在所有的选项应用到补全结果后,在结果前添加前缀prefix。

“-S suffix”:在所有的选项应用到补全结果后,在结果后添加后缀suffix。

“-W wordlist”:使用特殊变量IFS中的字符拆分单词列表wordlist,并扩展拆分后的每个单词,结果中与待补全单词

匹配的条目就是补全条目。

“-X filterpat”:filterpat是进行文件名扩展时使用的模式,它作用于通过前面的选项和参数生成的补全列表,并把每个与过滤模式匹配的条目删除,模式中前导的叹号表示否定,

这时会删除与过滤模式不匹配的条目。

3、compopt:

compopt [-o option] [-DE] [+o option] [name]

compopt命令修改每个名称指定的补全选项,如果没有指定名称则修改当前执行的补全的选项,如果也没有指定选项,则显示每个名称或当前补全所用的选项。

选项可能的取值就是上面的内建命令complete的有效选项。

linux命令自动补全,以上就是本文为您收集整理的linux命令自动补全最新内容,希望能帮到您!更多相关内容欢迎关注。

本文来自网络,不代表海诗网立场,转载请注明出处:https://m.hallse.com/n/165006.html
发表回复