在Mac OS X上通过shell脚本获取无线SSID

有什么办法通过Mac OS X上的shell脚本获取当前无线networking的SSID?

命令

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

会为您提供有关您当前无线networking连接的详细信息。

要获得特定的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把“Hardware Port”的名字从“Airport”改成了“Wi-Fi”,所以你就less了一个字母,

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

以下已经在OS X上进行了testing,并打印出没有任何硬编码列宽的SSID:

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

本质上,这需要system_profiler SPAirPortDataType的输出,并在“ Current Network Information: ”修剪前导空格和尾部冒号(因为SSID可以包含: s)之后打印该行。