Freebsd
如何檢查 wpa_supplicant.conf 是否有任何語法錯誤?
我想知道是否有一個工具可以讓我檢查我是否在wpa_supplicant.conf(5)中犯了任何語法錯誤。
我正在尋找一個用於wpa_supplicant(8)的實用程序,它的用途與 sudo(8)套件中的visudo(8)
--check
標誌相同。到目前為止我想出的唯一解決方案是執行
wpa_supplicant -c wpa_supplicant.conf -iNonexistentInterface`
但它並不理想。部分原因是由於介面名稱無效,返回碼始終為 255。
理想情況下,我希望該實用程序在 FreeBSD 上執行。
我理解你的願望,但不知道這樣的事情。這將是一個不錯的功能。但我認為你現在已經很接近了。
但是,如果您願意考慮稍微不同的方法,還有另一個名為wpa_cli的實用程序可能會有所幫助。或者,也許您知道並且已經放棄了這個想法。
它與基本系統中的wpa_supplicant.conf一起可用:
$ uname -r 11.1-RELEASE $ wpa_cli -v wpa_cli v2.5 Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors
2.7 版可作為埠使用。
不幸的是,手冊頁沒有保持最新。自述文件也不是
wpa_cli -help
列出所有目前選項。其中這些可能很有趣:
- 重新配置
- 放
- 傾倒
- 保存配置
如果您可以接受正在更改實時設置的事實 - 然後
set
允許您調整配置並為每個設置獲取錯誤。當事情符合您的喜好時,您可以使用save_config
.另一個 - 可能很明顯 - 想法是添加
-dd
到您的wpa_supplicant
命令行。但仍然不理想。但是您的總體想法實際上是可行的。儘管無論出現什麼錯誤,它似乎總是以退出程式碼 255 消失。文本輸出很容易解析。
如果您遇到解析失敗,您可以隨時查找:
Failed to read or parse configuration '{}'.
所有解析失敗都以
Line {}:
但是建議上游允許
-t
測試代替-i
更細粒度的退出狀態可能是一個好主意。