我正在編寫 bash 腳本來配置 Linux 裝置的網路存取。
該腳本必須由不具備裝置管理權限的 Linux 技術人員使用。我寫了乙太網路介面配置部分,沒問題。現在我需要寫無線上網配置部分。
遊戲的最後是將配置寫入到netplan configuration yaml file
.這是腳本的預期工作流程:
- 管理互動式選單系統擷取進階 Wifi 參數(SSID、密碼、驗證模式、dhcp 或手動設定...)
- 檢查與所選接入點的連接
- 將資料儲存到 netplan 設定 yaml 文件
- 應用程式變更
點1, 3 and 4
都可以...檢索可用接入點的清單也可以。
我無法實現的是這一點2
(檢查與所選接入點的連接)。我想要有像下一個這樣的使用體驗
WIFI configuration parameters:
SSID: My Network
PSK: password
Actions:
- e: Edit
- t: Test connectivity
- s: Save
- q: Quit
Select Action: t
....wait while testing connectivity
Test result: OK
Press a key to continue...
我嘗試過,iwconfig
但它不適用於 WPA,因此它不適用於大多數情況。
我嘗試過wpa_supplicant
,我可以進行測試,但不是按照我想的方式...這是一個前台測試,只能用 來停止,ctrl-C
並且對於傻瓜(我的最終用戶目標)來說很難閱讀。
我想
- 在背景啟動 Wifi 連接
- 在背景測試與接入點的連接是否正常
- 關閉後台Wifi連線(最終目標是設定netplan)
- 傳回呼叫腳本的 OK/Fail 回應
當然可以運行wpa_supplicant
連接,bg
但是:如何檢查連接並始終停止它bg
?
有什麼建議嗎?
謝謝桑德羅