Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用boost program_选项和自动完成_C++_Bash_Boost_Autocomplete - Fatal编程技术网

C++ 使用boost program_选项和自动完成

C++ 使用boost program_选项和自动完成,c++,bash,boost,autocomplete,C++,Bash,Boost,Autocomplete,我有一个使用boost::program\u选项的命令行应用程序 它已经通过程序_选项的异常处理通知用户诸如不明确参数之类的事情: Error occured when parsing arguments: option '--foo' is ambiguous and matches 'foo_do', and 'foo_bar' 如果参数的子字符串不含糊,它也会使用它来标识匹配的命令(即,如果我输入“foo_b”,它将完成到“foo_bar”) 有没有简单的方法可以利用这些已有的知识来实

我有一个使用boost::program\u选项的命令行应用程序

它已经通过程序_选项的异常处理通知用户诸如不明确参数之类的事情:

Error occured when parsing arguments: option '--foo' is ambiguous and 
matches 'foo_do', and 'foo_bar'
如果参数的子字符串不含糊,它也会使用它来标识匹配的命令(即,如果我输入“foo_b”,它将完成到“foo_bar”)

有没有简单的方法可以利用这些已有的知识来实现简单的命令行自动完成

在如何将有关命令行参数的静态信息传递给bash的自动完成以及编程_选项方面,有没有经验


提前感谢。

是的,您可以利用它,但您必须自己编写。依赖自动完成脚本中通常使用的“标准”机制可能更容易


我认为bash_completion具有足够的智能性,只要有一个简单的长选项名列表,它就可以完成正确的事情。

谢谢,这已经是一个有用的指针-我对自动完成通常的工作方式一点也不熟悉,您的回答现在让我更倾向于为bash completion提供选项名列表。