我正在使用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发布于 2013-06-05 11:44:40
您可以像这样删除警告:
compgen -F a 2>/dev/null但不幸的是,这也会丢弃来自compgen的任何真正的错误消息。
据我所知,从bash源代码中看,没有其他方法可以抑制消息,但我并没有深入研究。
发布于 2013-06-05 11:31:53
来自man bash
compgen选项
根据选项为word生成可能的完成匹配,这些选项可以是除-p和-r之外的完整内置接受的任何选项,并将匹配写入标准输出。在使用-F或-C选项时,由可编程完成工具设置的各种shell变量虽然可用,但没有有用的值。
如下图所示,您可能设置了一些变量来更改bash完成工具的行为,选项-F to compgen会忽略这些变量和值,并通过上面的警告通知您这一点。
参考文献:
1
https://stackoverflow.com/questions/16930354
复制相似问题