Linux中10个有用的命令行补全例子

2019-09-23 09:17:51于海丽

在上述函数中:
 1.COMPREPLY : 该数组控制连按下 TAB 后显示的结果
 2.COMP_WORDS : 该数组包含命令行输入的单词
 3.COMP_CWORD : COMP_WORDS 数组的索引,使用它来区分命令行可以访问的单词位置
 4.compgen : -W 基于 $current_arg 提供可能的补全及其参数 

该函数放在 parser_option 文件中,并通过 source 命令引入:
 $ source parser_option
将该函数和你的 parser.pl 脚本关联起来:

$ complete -F _parser_options ./parser.pl
$ ./parser.pl [TAB][TAB]
-i    --incoming    -o    --outgoing    -m    --missed 

如上,parser.pl 的选项是由函数 _parser_options() 生成的。 

提示: 查看/etc/bash_completion 来了解更多的可编程补全函数。 

10. 当第一个规则没有生成结果时,就使用第二个 

如果定义的补全规则没有生成匹配时,可以使用 -o 选项生成补全。
 $ complete -F _count_files -o dirnames ./countfiles.sh
如上,为 ./countfiles.sh 定义了 _count_files 补全函数。 如果 the _count_files() 函数没有生成任何匹配的话,就会触发目录补全。

 $ ls 
countfiles.sh  dir1/   dir2/   dir3/

$./countfiles.sh [TAB][TAB]
dir1  dir2  dir3

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。