如何检查/etc/network/interfaces文件语法并在C代码中进行测试?

如何检查/etc/network/interfaces文件语法并在C代码中进行测试?,c,C,我有一个新的文件接口,比如/etc/network/interfaces,我需要测试。 测试涉及文件语法,如果我可以通过测试来检测设置是否正确,那就更好了 我搜索了一下,发现ifup命令似乎做了我想做的一切 问题是我不想在我的C代码中调用system,所以我尝试检索ifupdown的源代码 我甚至都没有成功,许多结果向我表明,在大多数系统上都会出现脚本。在我的Debian7.1.0上,它是一个EFL二进制文件 我的问题是: *它是C代码中的一个可用工具,可以解析文件/etc/network/in

我有一个新的文件接口,比如/etc/network/interfaces,我需要测试。 测试涉及文件语法,如果我可以通过测试来检测设置是否正确,那就更好了

我搜索了一下,发现ifup命令似乎做了我想做的一切

问题是我不想在我的C代码中调用system,所以我尝试检索ifupdown的源代码

我甚至都没有成功,许多结果向我表明,在大多数系统上都会出现脚本。在我的Debian7.1.0上,它是一个EFL二进制文件

我的问题是: *它是C代码中的一个可用工具,可以解析文件/etc/network/interfaces的语法吗? *是否有列出所有有效选项的文档?如果Up man什么都不给,或者我看起来很糟糕:/,我的想法是制作我自己的解析器。
*如何将ifup命令的源代码发送到Debian 7.1.0?

正如我最初评论的那样:

你应该阅读和了解更多关于。阅读以了解/etc/network/interfaces的格式

ifup命令来自,因此获取其源代码

最后,您可以简单地执行以下命令

 ifup --verbose --no-act --force --all --interfaces=/tmp/interfaces_new
假设您的文件位于/tmp/interfaces\u new中


警告,我没有测试我的建议,让你看看yacc和bison。如果你在用C语言编写语法分析器之前从未这样做过,那就没那么容易了。问题太多太广泛了,所以投票决定结束。但我上面的评论提供了一些线索。