通过 bash 验证是否安装了 Homebrew 扩展(cask)

Verify via bash that a Homebrew extenshion (cask) is installed

我正在编写一个脚本来在 mac 上自动设置开发环境,但是我 运行 遇到了一些人 mac 的问题,其中 cask(自制扩展)不安装。有没有办法检查 bash 中是否安装了 cask?

理想情况下,我正在寻找类似的东西:

if caskIsInstalled then
    # do stuff...
fi

我已经能够使用 type 命令验证 brew 本身是否已安装,但我无法找到验证 cask 的方法。

if ! type "brew" > /dev/null; then
    echo "Failed to install Homebrew"
    # do stuff...
fi

这似乎有效:

if brew info brew-cask | grep "brew-cask" >/dev/null 2>&1 ; then 
   echo cask is installed
fi

考虑到 brew 有帮助 returns 安装软件包时与未安装软件包时的正常退出状态,可以避免完全需要管道和 grep

if ! brew info brew-cask &>/dev/null; then
    : Do something because cask is not installed
else
    : Do something when cask is installed
fi

如果 brew 有一个 -q/--quiet 选项,它可以消除您在已卸载的软件包上使用 info 时出现的错误,那么可以使用它来代替重定向。