如何在Mac OS X上的bash脚本中获取默认浏览器名称

时间:2015-09-08 12:38:41

标签: bash macos shell google-chrome grep

我想在脚本执行之前找出Mac OS X机器上的默认浏览器是否为Google Chrome。

我该怎么办?谢谢!

3 个答案:

答案 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>)
祝你好运