¿Hay alguna forma de obtener el SSID de la red inalámbrica actual mediante un script de shell en Mac OS X?Obtenga SSID inalámbrico a través de shell script en Mac OS X
Respuesta
El comando
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
le dará detalles sobre la conexión de red inalámbrica actual.
Para obtener específicamente el SSID, utilice este comando:
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'
El siguiente ha sido probado en OS X e imprime el SSID sin ningún ancho de las columnas no modificables:
system_profiler SPAirPortDataType | awk -F':' '/Current Network Information:/ {
getline
sub(/^ */, "")
sub(/:$/, "")
print
}'
En esencia, esto toma la salida de system_profiler SPAirPortDataType
, e imprime la línea después de "Current Network Information:
" recortar los espacios en blanco iniciales y los puntos finales (ya que los SSID pueden contener :
s).
'system_profiler' tiene un pequeño retraso en mi OS X 10.8. 'networksetup' necesita el nombre de la interfaz del aeropuerto. Prefiero 'aeropuerto | sed -n 's/^ * SSID: // p'' – zhangyoufu
Gracias. En macOS Sierra es 'aeropuerto --getinfo | sed -n 's/^ * SSID: // p'' –
Donde no es hay una rueda en la necesidad de reinventar?
networksetup -getairportnetwork en1 | cut -c 25-
es lo que tendría que utilizar en 10,6, 10,7 cambió el nombre de "hardware de puerto" de "aeropuerto" a "Wi-Fi", y por lo tanto había cortado uno menos letra,
aru$ networksetup -getairportnetwork en1 | cut -c 24-
Yorimichi
Nota El comentario de Johnsyweb arriba re: awk; en lugar de usar 'cortar', podría ejecutar 'networksetup -getairportnetwork en1 | awk -F ":" '{print $ 2}' ', que funcionará independientemente de si la etiqueta contiene" Aeropuerto "o" Wi-Fi ". – larsks
Lo malo aquí es que debes conocer el nombre de tu interfaz wlan. He visto e1 en Mac que tienen un ethernet incorporado (asignado e0) que hace que la interfaz WiFi sea 'e1', lo que parece ser el caso en esta respuesta. Otros tienen 'e0'. Esta es una edición fácil, por supuesto, pero si intenta hacerla genérica, la respuesta de @Chetan parece más fácil – nhed
O bien, use: networksetup -getairportnetwork en1 | cut -d ':' -f2 | corte -c 2- – RichS
- 1. Recarga Apache2 a través de Terminal en MAC OS X
- 2. fs.watch a través del nodo 0.5.9 en Mac OS X
- 3. Cómo ejecuto un script de shell PHP como acción de Automator en Mac OS X
- 4. Obtenga detalles del procesador mediante programación desde Mac OS X
- 5. Mac OS X - shell script de ejecución de la interfaz gráfica de usuario de escritorio
- 6. ¿Cómo ejecutar un script como root en Mac OS X?
- 7. JNotify en Mac OS X?
- 8. GKSession con Mac OS X
- 9. Obtenga el título de la ventana/documento activa actual en Mac OS X
- 10. Aprendiendo ASP.NET MVC en Mac OS X
- 11. Mac OS X: Cambiar a Python 2.7.3
- 12. linux: ¿Cómo obtener ssid inalámbrico sin permiso de root?
- 13. Configuración Bash en Mac OS X 10.4+
- 14. ldconfig para Mac OS X
- 15. SetWindowsHookEx para Mac OS X?
- 16. propósito shell script de x en "x $ VARIABLE"
- 17. Desarrollo de Blackberry en Mac OS X
- 18. Mac OS X View Swapping
- 19. clamxav homebrew mac os x
- 20. desinstalar ipython mac os x
- 21. Edición de conjunto en Mac OS X
- 22. Actualizaciones de aplicaciones en Mac OS X
- 23. UIActivityIndicatorView para Mac OS X?
- 24. Instalar CLSQL en Mac OS X
- 25. Loop desde la fecha de inicio hasta la fecha de finalización en el script de shell de Mac OS X
- 26. Configuración de DHCP en Mac OS X
- 27. Los scripts de shell en Mac OS X se ejecutan desde el directorio de inicio?
- 28. ¿Ejecutar scripts de shell desde el Dock OS X?
- 29. Ingrese en un directorio a través de un alias en el terminal Mac OS X
- 30. Errores Virtualenvwrapper en Mac OS X Lion
Cuando hago el segundo comando, no funciona correctamente. El SSID al que estoy conectado tiene espacios en él y ese comando solo muestra la primera palabra. –
@Mark: actualicé el segundo comando para trabajar con los SSID con espacios en ellos también. ¡Espero que esto ayude! – Chetan
Dile a 'awk' que use ':' como delimitador y obtendrás todo tu SSID: 'awk -F': ''/SSID/{print $ 2} '' – Johnsyweb