스크립트로 Wifi 액세스 포인트 연결을 확인하는 방법 Linux Ubuntu Server

스크립트로 Wifi 액세스 포인트 연결을 확인하는 방법 Linux Ubuntu Server

내 Linux 장치에 대한 네트워크 액세스를 구성하는 bash 스크립트를 작성 중입니다.

이 스크립트는 장치에 대한 관리 권한이 없고 Linux 숙련자가 아닌 사람이 사용해야 합니다. 이더넷 인터페이스 구성 부분을 작성했는데 괜찮습니다. 이제 글쓰기가 필요해와이파이구성 부분.

게임의 끝은 netplan configuration yaml file. 스크립트의 예상되는 작업 흐름은 다음과 같습니다.

  1. 상위 수준 Wifi 매개변수(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...

시도해 보았지만 iwconfigWPA에서는 작동하지 않으므로 대부분의 경우에는 적용되지 않습니다.

시도했고 wpa_supplicant테스트를 할 수 있지만 생각하는 방식으로는 그렇지 않습니다. 이것은 ctrl-C인형(나의 최종 사용자 태그)으로만 중지할 수 있고 읽기 어려운 포그라운드 테스트입니다.

나는하고 싶다

  1. 백그라운드에서 Wi-Fi 연결 실행
  2. 액세스 포인트 연결이 괜찮은지 백그라운드에서 테스트하세요.
  3. 백그라운드에서 Wi-Fi 연결을 닫습니다(최종 목표는 netplan을 구성하는 것입니다).
  4. 호출 스크립트에 대해 OK/Fail 응답을 반환합니다.

물론 wpa_supplicant연결을 실행하는 것이 가능 bg하지만 연결을 확인하고 항상 중지하는 방법은 무엇입니까 bg?

어떠한 제안?

감사합니다 산드로

관련 정보