Как просто проверить подключение точки доступа Wi-Fi с помощью скрипта Linux Ubuntu Server

Как просто проверить подключение точки доступа Wi-Fi с помощью скрипта Linux Ubuntu Server

Я пишу bash-скрипт, который настраивает сетевой доступ для моих Linux-устройств.

Скрипт должен использоваться неопытными в Linux людьми, которые не имеют административных прав на устройстве. Я написал часть конфигурации интерфейсов Ethernet, и она в порядке. Теперь мне нужно написатьWi-Fiчасть конфигурации.

Конец игры — написать конфигурацию внутри netplan configuration yaml file. Вот ожидаемый рабочий процесс скрипта:

  1. управлять интерактивной системой меню, извлекая параметры Wi-Fi высокого уровня (SSID, пароль, режим аутентификации, DHCP или ручная настройка...)
  2. Проверьте подключение к выбранной точке доступа.
  3. Сохраните данные в файле конфигурации netplan yaml
  4. Применить изменения

Точки 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и его трудно прочитать для чайников (мой последний пользовательский тег).

Я хотел бы

  1. запустить Wi-Fi-соединение в фоновом режиме
  2. проверка в фоновом режиме, исправно ли соединение с точкой доступа
  3. закрыть соединение Wi-Fi в фоновом режиме (конечная цель — настроить netplan)
  4. Возврат ответа OK/Fail на вызывающий скрипт

Конечно, можно запустить wpa_supplicantсоединение, bgно: как проверить соединение и остановить его всегда bg?

Любое предложение?

Спасибо, Сандро.

Связанный контент