OS X下如何获取当前连接的***名称
Posted
技术标签:
【中文标题】OS X下如何获取当前连接的***名称【英文标题】:How to get the currently connected ***’s name under OS X 【发布时间】:2012-05-11 02:07:16 【问题描述】:我知道我可以通过这样做来获取 Wifi SSID
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | sed -e "s/^ *SSID: //p" -e d
但是有没有办法获取当前正在使用的 *** 名称?
【问题讨论】:
【参考方案1】:假设您的意思是使用 Network Preferences 注册的 *** 服务,AppleScript,特别是 System Events 的 Network Preferences Suite 将起作用:
tell application "System Events"
tell current location of network preferences
get name of every service whose (kind is greater than 11 and kind is less than 16) and connected of current configuration is true
end tell
end tell
如果您需要从 shell 访问它,osascript -e
是您的朋友(AppleScript 的每一行都有一个 -e
选项,请注意引用和转义 - 请参阅 man osascript
)。
【讨论】:
谢谢,这很好用。你能解释一下 kind 选项吗?为什么 >11 和 @nachocab:kind
标识网络连接类型的值是一个整数值,值 12 到 15 表示 OS X 支持的不同类型的 ***。至于找出这些东西:研究应用程序的 AppleScript 字典(通过使用 AppleScript 编辑器中的浏览器),尝试它们提供的内容(这就是我得到你所询问的值的方式,这些值是无证的 AFAIK),搜索试管卡住的地方(从 Stack Exchange 网站开始,到 Google 结束,这往往会冒出流行但过时的解决方案)。
@nachocab:另外,every … whose
子句是标准的 AppleScript——即所谓的 reference form。 AppleScript 编辑器的帮助菜单将链接到 AppleScript 语言指南,这总是值得一看的:)。以上是关于OS X下如何获取当前连接的***名称的主要内容,如果未能解决你的问题,请参考以下文章
使用可可获取 Mac OS X 当前连接的 wifi 网络的安全类型