연결된 와이파이 네트워크 ssid를 얻는 방법?


8

bash 스크립트로 현재 연결된 wifi 네트워크 ssid를 얻고 싶습니다. 홈 와이파이 네트워크에 연결된 경우 스크립트가 NAS 서버에 백업을 수행하는 백업 스크립트를 작성하려고합니다. ip route명령 을 살펴 봤지만 기본 정보 만 반환합니다. 여기에 이미지 설명을 입력하십시오

답변:


4

다음은 1 개의 무선 장치를 사용하여 연결되었다고 가정 할 때 제공하는 내용입니다.

nmcli -t -f ssid dev wifi| cut -d\' -f2

연결된 모든 네트워크를 반환합니다. 연결된 네트워크 만 찾을 수 있습니까?
Chan

이와 같이 해보고 알려주십시오 : nmcli -t -f active, ssid dev wifi | cut -d \ '-f2
Luis Alvarado

여전히 많은 결과를 반환
Chan

출력으로보고있는 것을 pastebin 할 수 있습니까?
Luis Alvarado

1
이것은 나를 위해 작동합니다 : nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2 .
Jacob Evan Shreve 2016 년

16
iwgetid -r

또는

iwgetid wlan0 -r

Ubuntu 16.0.4에서 완벽하게 작동하십시오!
atrujillofalcon

파이썬 sudo iwgetid -r이 나를 위해 일합니다. (라스베리 파이)
snr

2

이 명령은 연결된 무선 어댑터의 SSID를 반환합니다 (하나만 있다고 가정).

iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/'

또한 터미널에 경고를 표시하지만 stderr에 인쇄되므로 중요하지 않습니다.

remi@host~$id:~$ id=$(iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/')
eth0      no wireless extensions.
lo        no wireless extensions.
virbr0    no wireless extensions.
tap0      no wireless extensions.

remi@host:~$ echo $id
CISPI

1

어때요 iwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'?


0
nmcli -t -f NAME connection show --active
  • -t 헤더가 없도록 출력을 'terter'로 만듭니다.
  • -f NAME ssid 만 표시
  • --active 활성 연결 만 표시

SSID가 아닌 연결 이름을 인쇄합니다. NAME은 일반적으로 SSID와 일치하지만 항상 사실은 아닙니다. NetworkManager 연결의 이름은 임의의 값으로 변경할 수 있습니다.
j123b567

0

나는 이것을 시도했다 :

    iwconfig wlan0 | grep ESSID | cut -d\" -f2

0

NetworkManager-1.8.4를 사용하면 올바른 결과를 얻었습니다.

LANG=C nmcli -t -f active,ssid dev wifi | grep ^yes | cut -d: -f2-

명령의 모든 부분에 대한 이유가 있습니다

  • LANG=C 현지화 된 문자열에 grep을 사용하고 있기 때문에
  • nmcli ... -f active,ssid ... ssid를 활성 상태로 인쇄합니다. yes:myssid no:otherssid
  • grep ^yes "yes"라는 텍스트가있는 SSID가 아닌 활성 연결을 필터링하려고합니다. ^
  • cut ... -f2- 첫 번째 구분 기호 뒤에 나머지 줄을 인쇄하여 구분 기호가있는 SSID를 가질 수 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.