$ export IFS=" "$ complete -W "bubble quick" ./sort_numbers.sh$ ./sort_numbers.sh [TAB][TAB]bubblequick
如上所述 , 通过IFS分隔符分割字符串后 , 单词得到扩展 , 因此也可以将这些作为变量 , 如下所示 ,
$ echo $SORT_TYPE1bubble$ echo $SORT_TYPE2quick$ complete -W "$SORT_TYPE1 $SORT_TYPE2" ./sort_numbers.sh$ ./sort_numbers.sh [TAB][TAB]bubblequick
9. 编写你自己的函数来生成完成它允许您包含一个函数来定义完成 。使用 -F 选项 , 传递给完成命令的函数名称并被执行以生成完成 。例如 , 函数编写如下所示 ,
_parser_options(){local curr_arg; curr_arg=${COMP_wordS[COMP_CWORD]} COMPREPLY=( $(compgen -W '-i --incoming -o --outgoing -m --missed' -- $curr_arg ) );}
在上述函数中 ,
- 1.COMPREPLY :数组保存按 [TAB][TAB] 后显示的完成结果
- 2.COMP_WORDS :在命令行上键入的单词数组
- 3.COMP_CWORD :COMP_WORDS 数组的索引 , 并且可以在命令行上使用此不同位置的单词进行访问 。
- 4.compgen : -W 保存可能的完成 , 并根据 $current_arg 选择相应的参数
$ source parser_option
将此函数链接到您的解析器脚本 , 如下所示 , $ complete -F _parser_options ./parser.pl$ ./parser.pl [TAB][TAB]-i--incoming-o--outgoing-m--missed
如上所示 , 解析器的选项由函数 _parser_options() 生成 。注意:查看 /etc/bash_completion 以查看可编程完成的更多功能 。
10. 当主要不生成任何辅助规范时如果定义的完成规范没有生成匹配项 , 则使用 comp-option 来完成 -o 选项提到的完成 。
$ complete -F _count_files -o dirnames ./countfiles.sh
如上所述 , 完成是用文件 ./countfiles.sh 的 _count_files 函数定义的 。如果 _count_files() 函数未生成任何匹配项 , 则尝试完成目录 。$ ls countfiles.shdir1/dir2/dir3/$./countfiles.sh [TAB][TAB]dir1dir2dir3
推荐阅读
- PS5|等等党还有机会!索尼PS5涨价后 微软、任天堂强调不会涨
- |职场中有哪些常见的套路?
- |职场上,面子不是所谓的客气,而是让自己有了自信,让自己成功
- 提前批有哪些大学和专业? 提前批学校
- 穿衣搭配|毛阿敏审美挺个性,戴发带混搭健美裤,变健美女孩太有朝气像30岁
- 魂断蓝桥有感 魂断蓝桥观后感
- 全球变暖的危害有哪些 全球变暖的后果
- 鸭血吃多了会怎么样
- 油炸香豆腐
- |一娟素白,放逐了所有的念