我正在用TypeScript / NodeJs制作一个小的跨平台CLI工具。其主要功能要求它需要检查主机上安装了哪些浏览器。在Linux和Windows上,它可以完美运行。我对如何实现这一目标进行了大量研究,目前我在Windows上使用“ reg查询”,在基于Unix的操作系统(Linux)上使用“哪个”,但是我不知道从MacOS开始。
我知道这是一个类似Unix的操作系统,但是我无法测试我的工具。有人可以帮我,因为我实际上不是MacBook的所有者,所以我无法测试应该使用哪个bash命令。我并不是在要求您编写完整的代码,只是要使用哪个命令,或者甚至更好的是,该命令的有效示例(屏幕截图)可以正常工作。我知道我可以使用“哪个”,“类型”或什至“ open -Ra”(对此不确定),我只是不知道它们的输出是什么。
答案 0 :(得分:1)
命令:
mdfind "kMDItemKind == 'Application'"
将输出系统上已安装的应用程序列表(每行一个)及其路径。例如:
/ Applications / Safari Technology Preview.app
/Applications/Safari.app
您可以在此列表中搜索支持的浏览器。
答案 1 :(得分:0)
Mac OS基于Unix版本的Free BSD构建。许多Linux命令可能也可以在Mac上运行。要访问操作系统的该部分,可以使用终端仿真器“ Terminal”和“ iTerm”。在Mac上,“哪个”命令可以正常工作。
如果您的挑战只是在Mac计算机上找到浏览器,我将使用ls命令传递到grep中。 Mac计算机上的大多数应用程序都存储在“应用程序”文件夹中。此文件夹位于根级别。要查找特定的浏览器,请输入:
> cd Applications
> ls -l | grep -i BrowserName
您可以针对已知的每种浏览器执行此操作。我一般不知道如何找到浏览器。如果这样做,您可以在Mac上尝试相同的命令。
如果您需要更多帮助,请随时发表评论。
答案 2 :(得分:0)
您还可以使用以下内容:
mdfind -name 'kMDItemFSName=="*.app"' -onlyin /Volumes/Macintosh_HD/Applications/
或
mdfind -name 'kMDItemFSName=="*.app"' -onlyin /Volumes/Macintosh\ HD/Applications/ |cut -d "/" -f3|grep .app
答案 3 :(得分:0)
这取决于“已安装”的含义。我可以想到两个不同的定义:
open -a {app}
从终端启动,也可以导航到应用程序文件夹并双击它。它们的位置涵盖了整个Spotlight索引:通常是整个硬盘驱动器减去Spotlight排除项。对于#1,我们可以使用@mschmidt的答案,例如:
mdfind -name 'Google Chrome.app' -onlyin /Applications -onlyin ~/Applications -onlyin /System/Applications
(我不太肯定这些是Launchpad唯一使用的根。)
对于#2,我们可以使用:
mdfind -name 'Google Chrome.app'
这可以在Spotlight中的任何位置找到它,而实际上open -a
可以打开它。
在Catalina上测试。