我想在脚本执行之前找出Mac OS X机器上的默认浏览器是否为Google Chrome。
我该怎么办?谢谢!
答案 0 :(得分:3)
您可以grep/awk
启动服务首选项列表,找出哪个浏览器设置为默认值:
x=~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist; \
plutil -convert xml1 $x; \
grep 'https' -b3 $x | awk 'NR==2 {split($2, arr, "[><]"); print arr[3]}'; \
plutil -convert binary1 $x
这会将一个变量(x
)设置为启动服务首选项列表,然后使用plutil
转换为xml
格式,以便我们grep
。我们找到了我们正在寻找的字符串(https
),然后输出结果。最后一步是将plist转换回binary
格式。
如果将chrome设置为默认值,您将获得:
<强>结果强>:
com.google.chrome
答案 1 :(得分:0)
无需转换,使用此脚本:
plutil -p ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist | grep 'https' -b3 |awk 'NR==3 {split($4, arr, "\""); print arr[2]}'
答案 2 :(得分:-4)
尝试:
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [NSObject : AnyObject]?, context: UnsafeMutablePointer<Void>)
祝你好运