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 route
comando pero solo devuelve información básica:
8
nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2
.o
fuente
sudo iwgetid -r
me 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
-t
Hace que la salida sea 'concisa' para que no haya encabezados-f NAME
Muestra solo el ssid--active
Muestra 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=C
es 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:myssid
no:otherssid
grep ^yes
queremos 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