답변:
다음은 1 개의 무선 장치를 사용하여 연결되었다고 가정 할 때 제공하는 내용입니다.
nmcli -t -f ssid dev wifi| cut -d\' -f2
nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2
.
iwgetid -r
또는
iwgetid wlan0 -r
sudo iwgetid -r
이 나를 위해 일합니다. (라스베리 파이)
이 명령은 연결된 무선 어댑터의 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
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를 가질 수 있습니다.