我知道可以通过执行以下操作来获取Wifi SSID:
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | sed -e "s/^ *SSID: //p" -e d
但是有没有办法获取当前正在使用的VPN名称?
假设您指的是在“网络偏好设置”中注册的VPN服务,则可以使用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
值标识着网络连接的类型,是一个整数值,其中值为 12 到 15 表示 OS X 支持的不同 VPN 类型。关于如何找到这些信息:研究应用程序的 AppleScript 字典(通过 AppleScript 编辑器中的浏览器),尝试使用它们提供的功能(这就是我得到你所问的未记录值的方式),在遇到困难时搜索互联网(从 Stack Exchange 网站开始,最后以 Google 结束,它往往会推出流行但过时的解决方案)。 - kopischke