如何检查wpa_supplicant.conf是否有语法错误?

如何检查wpa_supplicant.conf是否有语法错误?

我想知道是否有一个工具可以让我检查我是否犯了任何语法错误wpa_supplicant.conf(5)

我正在寻找一个实用程序wpa_请求者(8)--check这将起到与国旗相同的作用视觉(8)来自 须藤(8)套房。

到目前为止我想出的唯一解决方案是运行

wpa_supplicant -c wpa_supplicant.conf -iNonexistentInterface`

但这并不理想。部分原因是由于接口名称无效,返回码始终为 255。

理想情况下,我希望该实用程序在 FreeBSD 上运行。

答案1

我理解你的愿望,但不知道有这样的事情。这将是一个很好的功能。但我认为你现在已经很接近了。

然而,还有另一个实用程序名为wpa_cli如果您愿意考虑稍微不同的方法,这可能会有所帮助。或者也许你知道这一点并且已经放弃了这个想法。

它可以与wpa_supplicant.conf在基础系统中:

$ uname -r
11.1-RELEASE
$ wpa_cli -v
wpa_cli v2.5
Copyright (c) 2004-2015, Jouni Malinen <[email protected]> and contributors

2.7版本可以作为端口使用。

不幸的是,手册页没有保持最新状态。也不是自述文件

wpa_cli -help列出所有当前选项。其中这些可能很有趣:

  • 重新配置
  • 倾倒
  • 保存配置

如果您可以接受正在更改实时设置的事实 - 那么set允许您调整配置并获取每个设置的错误。当事情符合您的喜好时,您就可以使用save_config.

另一个(可能是显而易见的)想法是添加-dd到您的wpa_supplicant命令行中。但仍然不理想。

但你的总体想法实际上是可行的。尽管似乎无论出现什么错误,它总是会以退出代码 255 消失。文本输出很容易解析。

如果您遇到解析失败,您可以随时查找:

Failed to read or parse configuration '{}'.

所有解析失败都以Line {}:

但建议上游允许进行-t测试来代替-i更细粒度的退出状态可能是一个好主意。

相关内容