我正在尝试创建一个脚本来检查Homebrew是否安装在任何给定的mac上,如果它安装了特定的公式。我有检查brew是否已安装的部分,但是当我尝试运行brew列表以查看安装了哪些软件包时,即使我可以在终端中运行命令,也会得到“Command not found”。我正在使用:
do shell script "brew list"
还有其他方法可以在Applescript中运行brew命令吗?
答案 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
*注意:我还没有对此进行测试,因此可能需要进行一些调整。