Я пишу bash-скрипт, который настраивает сетевой доступ для моих Linux-устройств.
Скрипт должен использоваться неопытными в Linux людьми, которые не имеют административных прав на устройстве. Я написал часть конфигурации интерфейсов Ethernet, и она в порядке. Теперь мне нужно написатьWi-Fiчасть конфигурации.
Конец игры — написать конфигурацию внутри netplan configuration yaml file
. Вот ожидаемый рабочий процесс скрипта:
- управлять интерактивной системой меню, извлекая параметры Wi-Fi высокого уровня (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
и его трудно прочитать для чайников (мой последний пользовательский тег).
Я хотел бы
- запустить Wi-Fi-соединение в фоновом режиме
- проверка в фоновом режиме, исправно ли соединение с точкой доступа
- закрыть соединение Wi-Fi в фоновом режиме (конечная цель — настроить netplan)
- Возврат ответа OK/Fail на вызывающий скрипт
Конечно, можно запустить wpa_supplicant
соединение, bg
но: как проверить соединение и остановить его всегда bg
?
Любое предложение?
Спасибо, Сандро.