如何从Applescript调用brew

时间:2015-05-21 18:36:49

标签: macos applescript homebrew

我正在尝试创建一个脚本来检查Homebrew是否安装在任何给定的mac上,如果它安装了特定的公式。我有检查brew是否已安装的部分,但是当我尝试运行brew列表以查看安装了哪些软件包时,即使我可以在终端中运行命令,也会得到“Command not found”。我正在使用:

do shell script "brew list"

还有其他方法可以在Applescript中运行brew命令吗?

1 个答案:

答案 0 :(得分:1)

最好直接调用命令,否则AppleScript可能找不到返回command not found的正确路径 - 为此,您要查看brew命令的位置位于Terminal

$ which brew
/usr/local/bin/brew

基于此,你应该可以做到:

do shell script "/usr/local/bin/brew list"

如果命令后有多个参数,请使用-c选项:

do shell script "/usr/local/bin/brew -c list <package>"
  

如果存在-c选项,则从中读取命令    串。如果字符串后面有参数,则为    分配给位置参数,从$ 0开始。

如果您想要一个完整的方法来找出路径,您可以执行以下操作:

set brewPath to do shell script "/usr/bin/which brew | awk '{print $0}'" as string
set brewList to do shell script "" & brewPath & " list" as string

*注意:我还没有对此进行测试,因此可能需要进行一些调整。