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

时间:2015-10-12 20:17:03

标签: macos bash homebrew

我正在编写一个脚本来自动在mac上设置开发环境,但是我遇到了一些问题,在某些人的mac上cask(Homebrew扩展名)没有安装。有没有办法可以检查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

2 个答案:

答案 0 :(得分:2)

这似乎有效:

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

答案 1 :(得分:1)

鉴于安装软件包时brew有助于返回合理的退出状态,而不安排软件包,可以避免需要管道并完全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时出现的错误,那么可以使用该选项代替重定向。