我正在编写 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
?
有什么建议吗?
谢谢桑德罗