首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解‘`compgen`’builtin命令

理解‘`compgen`’builtin命令
EN

Unix & Linux用户
提问于 2014-08-20 10:28:45
回答 2查看 54.8K关注 0票数 61

来自help compgen

代码语言:javascript
复制
$ help compgen
compgen: compgen [-abcdefgjksuv] [-o option]  [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]
    Display possible completions depending on the options.
    
    Intended to be used from within a shell function generating possible
    completions.  If the optional WORD argument is supplied, matches against
    WORD are generated.
    
    Exit Status:
    Returns success unless an invalid option is supplied or an error occurs.

[-abcdefgjksuv]代表什么?

换句话说,我想知道如何使用所有选项。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2014-08-20 10:33:43

compgen命令的选项与complete相同,但-p-r除外。来自compgen手册页:

代码语言:javascript
复制
compgen
 compgen [option] [word]
 Generate possible completion matches for word according to the options, which 
 may be any option accepted by the complete builtin with the exception of -p 
 and -r, and write the matches to the standard output

对于选项[abcdefgjksuv]

  • -a指别名的名称
  • -b是指shell内置程序的名称。
  • -c是指所有命令的名称
  • -d是指目录的名称
  • -e表示导出的shell变量的名称。
  • -f是指文件的名称
  • -g是指组的名称
  • -j的意思是作业名称
  • -k是指shell保留字的名称。
  • -s是指服务的名称
  • -u是指用户名
  • -v是指shell变量的名称

您可以看到完整的手册页这里

票数 63
EN

Unix & Linux用户

发布于 2020-01-30 13:12:41

在O‘’Reilly,有一本书(阿诺德·罗宾斯快速参考)也有一个提示表单compgen选项在完成时被描述。对于完整的文档,除了上面列出的其他选项外,还提供了其他一些选项。它们可能与当前版本无关,但在当前版本文档中不再有或不再描述选项。

到目前为止,我已经在网上看到这些大写选项被用于调用compgen或在完整的文档中提到!

代码语言:javascript
复制
compgen [option] [word]
complete [-abcdefgjksuv] [-o comp-option] [-A action] [-G globpat] [-W wordlist]
      [-P prefix] [-S suffix] [-X filterpat] [-F function]
      [-C command] name [name ...]
      complete -pr [name ...]
  • -A操作=该操作可以是生成可能完成的列表的下列操作之一:(参见链接)
  • -C命令=在子subshell中运行命令,并将其输出用作完成列表。
  • -F函数=在当前shell中运行shell函数。返回后,从COMPREPLY数组检索完成列表。
  • -G globpat =文件名扩展模式globpat被展开以生成可能的完成。
  • 在应用了所有其他选项之后,在每个可能完成的开头添加-P前缀=前缀。
  • 在应用了所有其他选项之后,-S后缀=后缀将追加到每个可能的完成项中。
  • 使用IFS特殊变量中的字符作为分隔符拆分-W wordlist = wordlist,并展开每个结果单词。可能的完成是与正在完成的单词匹配的结果列表的成员。
  • -X filterpat = filterpat是用于文件名扩展的模式。它应用于由前面的选项和参数生成的可能完成的列表中,并且从列表中删除每个匹配的完成筛选器。领头羊!在filterpat中,否定模式;在这种情况下,任何不匹配的完成都会被删除。

可编程完成内置程序中可以找到一个相当详尽的文档版本。

由于这两个命令都是在命令中构建的,因此官方文档位于本地手册页上,用于bash。使用搜索选项定位其中的相关部件。对不起,但是在任何视图变体中,布局看起来都有些破损(在生成的布局中可用性降低),甚至在internet服务上也是如此。

票数 9
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/151118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档