linux自动补全命令, linux系统下如何自动完成命令?下面具体介绍一下。
输入“命令的前几个字符”,然后按TAB键自动完成命令。比如我想改密码,但是我只记得这个命令的前几个字母是pass。这时候按Tab键,shell会自动输出passwd命令,非常方便。
扩展信息:
在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命令":命令名,与选项"-c "相同。
"-A目录":目录名,与选项"-d "相同。
“-A disabled”:不可用的外壳内置命令名。
"-A enabled ":可用的shell内置命令名。
"-A export ":导出的shell变量的名称,与选项"-e "相同。
"-A file ":文件名,与选项"-f "相同。
"-a function": shell function name.
"-A组":组名,与选项"-g "相同。
"-A helptopic ":内置命令help支持的帮助主题。
"-A hostname ":主机名,从shell环境变量HOSTFILE中获得。
"-作业":作业名称,与选项"-j "相同。
"-a关键字":shell保留字,与选项"-k "相同。
"-A running ":正在运行的作业的名称。
"-A service ":服务名,与选项"-s "相同。
“-A setopt”:内置命令集的选项“-o”可用的参数。
"-A shopt ":内置命令shopt可接受的选项名称。
“-一个信号”:信号名称。
"-A stopped ":暂停作业的名称。
"-用户":用户名,与选项"-u "相同。
"-A variable ":所有shell变量名,与选项"-v "相同。
"-C command ":在subshell中执行命令,并将结果作为一个完整的条目。
"-F function ":function函数在当前shell环境中执行。在执行过程中,参数“$1”表示正在完成的命令名,参数“$2”表示完成名,参数“$3”表示完成名前的单词。
指示当执行完成时,从数组变量COMPREPLY中获得完整的条目。
"-G globpat ":使用文件名扩展模式globpat进行扩展,以生成可能的完成条目。
"-P prefix ":将所有选项应用于完成的结果后,在结果前面加上前缀。
“-S suffix”:在所有的选项应用到补全结果后,在结果后添加后缀suffix。
“-W wordlist”:使用特殊变量IFS中的字符拆分单词列表wordlist,并扩展拆分后的每个单词,结果中与待补全单词
匹配的条目就是补全条目。
“-X filterpat”:filterpat是进行文件名扩展时使用的模式,它作用于通过前面的选项和参数生成的补全列表,并把每个与过滤模式匹配的条目删除,模式中前导的叹号表示否定,
这时会删除与过滤模式不匹配的条目。
3、compopt:
compopt [-o option] [-DE] [+o option] [name]
compopt命令修改每个名称指定的补全选项,如果没有指定名称则修改当前执行的补全的选项,如果也没有指定选项,则显示每个名称或当前补全所用的选项。
选项可能的取值就是上面的内建命令complete的有效选项。
linux自动补全命令,以上就是本文为您收集整理的linux自动补全命令最新内容,希望能帮到您!更多相关内容欢迎关注。