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

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

3 ответа

Решение

Команда

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

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

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

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'

Где нет колеса, нуждающегося в переизобретении?

networksetup -getairportnetwork en1 | cut -c 25-

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

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

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

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

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

Другие вопросы по тегам