Bash:compgen如何摆脱警告信息[选项可能无法按预期工作]?

时间:2013-06-05 01:57:17

标签: bash compgen

我正在使用compgen进行简单的bash完成程序

然而当使用compgen -F选项时, 警告信息会提示并打破我的工作清单

我正在使用Ubuntu 12.04。我怎样摆脱这个或调试它?感谢

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

2 个答案:

答案 0 :(得分:0)

来自man bash

  

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

如图所示,您可能有一些变量设置来改变bash完成工具的行为,而-F选项忽略那些变量和值,并通过上述警告通知您

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

答案 1 :(得分:0)

你可以摆脱这样的警告:

compgen -F a 2>/dev/null

但不幸的是,这也将丢弃compgen的任何真实错误消息。

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