Подтвердить что ты не робот

Получите беспроводной SSID через оболочку script в Mac OS X

Есть ли способ получить SSID текущей беспроводной сети через оболочку script в Mac OS X?

4b9b3361

Ответ 1

Команда

/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I

расскажет вам о вашем текущем подключении к беспроводной сети.

Чтобы получить конкретно SSID, используйте эту команду:

/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk -F: '/ SSID/{print $2}'

Ответ 2

Где нет колеса, которое нужно заново изобретать?

networksetup -getairportnetwork en1 | cut -c 25-

- это то, что вы бы использовали на 10.6, 10.7 изменило название "Аппаратный порт" с "Аэропорт" на "Wi-Fi", и поэтому вы обрезали бы на одну букву меньше,

aru$ networksetup -getairportnetwork en1 | cut -c 24-
Yorimichi

Если устройство имеет имя, отличное от en1, сначала необходимо получить правильное имя устройства, а не соответствующий SSID:

networksetup -listallhardwareports | awk '/Wi-Fi/{getline; print $2}' | xargs networksetup -getairportnetwork

Ответ 3

В OS X было протестировано следующее и распечатывает идентификатор SSID без каких-либо жестко закодированных ширины столбцов:

system_profiler SPAirPortDataType | awk -F':' '/Current Network Information:/ {
    getline
    sub(/^ */, "")
    sub(/:$/, "")
    print
}'

По существу, это выводит результат system_profiler SPAirPortDataType и печатает строку после "Current Network Information:" обрезки ведущих пробелов и обратного двоеточия (поскольку SSID могут содержать : s).