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

标签 bash macos shell google-chrome grep

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

我该怎么做?谢谢!

最佳答案

您可以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

关于bash - 如何在 Mac OS X 上的 bash 脚本中获取默认浏览器名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32458095/

相关文章:

c++ - 有什么方法可以配置 waf 以在 mac os 中构建 c++ 程序?

bash - 如何将一个目录的所有文件移动到具有给定文件数的多个目录中?

bash - 创建带有校验和验证的文件下载脚本

bash - 如何使用 'echo' 打印命令的结果?

linux - 在帮助选项中包含子参数以明智地执行?

ios - 如何使用 Swift 旋转核心文本?

c - MacOS Valgrind的替代品?

bash - 如何将重定向符号分配给变量以组装命令行

bash - Pop3 服务器中的 LIST 命令

linux - 在 Bash 中使用基于 Perl 的重命名命令和查找