Есть ли способ получить SSID текущей беспроводной сети через оболочку script в Mac OS X?
Получите беспроводной SSID через оболочку script в Mac OS X
Ответ 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).