Desejo obter o ssid das redes wifi atualmente conectadas em um script bash. Estou tentando escrever um script de backup em que o script executará um backup em um servidor NAS se estiver conectado à minha rede wifi doméstica. Eu olhei para o ip route
comando, mas ele retorna apenas algumas informações básicas -
8
nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2
.ou
fonte
sudo iwgetid -r
funciona para mim. (raspberry pi)Este comando retorna o SSID do adaptador sem fio conectado (supondo que você tenha apenas um).
Também imprime um aviso no terminal, mas no stderr, para que não importe
fonte
Que tal
iwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'
?fonte
-t
Torna a saída 'concisa' para que não haja cabeçalhos-f NAME
Mostra apenas o ssid--active
Mostra apenas as conexões ativasfonte
Eu tentei isso:
fonte
Com o NetworkManager-1.8.4, isso produziu o resultado correto
Há uma razão para todas as partes do comando
LANG=C
é porque estamos usando grep na string localizada, então force o inglêsnmcli ... -f active,ssid ...
faz com que imprimir ssid com status ativo no formulárioyes:myssid
no:otherssid
grep ^yes
queremos filtrar conexões ativas, mas não SSIDs com o texto "yes", por isso é o motivo de^
cut ... -f2-
imprime o restante da linha após o primeiro separador, para que possamos ter o SSID com o separadorfonte