Quiero obtener las redes wifi actualmente conectadas ssid en un script bash. Estoy tratando de escribir un script de respaldo donde el script realizará una copia de respaldo en un servidor NAS si está conectado a la red wifi de mi hogar. He examinado el ip routecomando pero solo devuelve información básica:

8

nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2.o
fuente
sudo iwgetid -rme funciona. (Raspberry pi)Este comando devuelve el SSID del adaptador inalámbrico conectado (suponiendo que solo tenga uno).
También imprime advertencia en el terminal pero en stderr, por lo que no importa
fuente
¿Qué tal
iwconfig wlan0 | sed -e '/ESSID/!d' -e 's/.*ESSID:"/"/'?fuente
-tHace que la salida sea 'concisa' para que no haya encabezados-f NAMEMuestra solo el ssid--activeMuestra solo las conexiones activasfuente
Intenté esto:
fuente
Con NetworkManager-1.8.4, esto produjo el resultado correcto
Hay una razón para cada parte del comando
LANG=Ces porque estamos usando grep en una cadena localizada, así que forza el inglésnmcli ... -f active,ssid ...hace que se imprima ssid con estado activo en el formularioyes:myssidno:otherssidgrep ^yesqueremos filtrar las conexiones activas, pero no los SSID con el texto "sí", por lo que es la razón de^cut ... -f2-imprime el resto de la línea después del primer separador para que podamos tener SSID con separadorfuente