0

I am making a simple bash completion program using compgen

however when using compgen -F option, the warning message keep prompt out and break my list of work

I am using Ubuntu 12.04. How can I get rid of this or debug it? Thanks

kithokit@09:54:25 ~ $ compgen -F a
bash: compgen: warning: -F option may not work as you expect
4

2 回答 2

1

man bash

compgen [option] [word]
根据选项为 word 生成可能的补全匹配,可以是除了 -p 和 -r 之外的 complete builtin 接受的任何选项,并将匹配写入标准输出。使用 -F 或 -C 选项时,由可编程完成工具设置的各种 shell 变量虽然可用,但没有有用的值

如图所示,您可能设置了一些变量来更改 bash 完成工具的行为,并且可以选择-F忽略compgen这些变量和值,并通过上述警告通知您这一点。

参考文献:
[1] http://linux.die.net/man/1/bash

于 2013-06-05T03:31:53.243 回答
0

您可以像这样摆脱警告:

compgen -F a 2>/dev/null

但不幸的是,这也会丢弃来自 compgen 的任何真正的错误消息。

据我从bash源代码中可以看出,没有其他方法可以抑制消息,但是我并没有看得很深。

于 2013-06-05T03:44:39.773 回答