检测是否安装了自制软件包
我即将编写一个shell脚本来检测系统中是否安装了多个自制软件包。 有没有办法使用brew命令来实现?
我尝试使用brew install <formula> --dry-run的退出代码。 但是,如果缺less这个包,就会构build这个包。 
您可以使用
 brew ls --versions myformula 
输出相应公式的安装版本。 如果公式未安装,则输出将为空。
 当使用最新版本的自制软件,你可以用brew update ,你可以运行这个(谢谢Slaven): 
 if brew ls --versions myformula > /dev/null; then # The package is installed else # The package is not installed fi 
 也就是说,检查是否存在该工具可能是一个好主意,而不仅仅是检查相应的自制软件包(例如,通过在$PATHsearch可执行文件)。 人们倾向于在实践中以相当大的方式安装工具,而自制软件就是其中之一。 
关于什么?
 for pkg in macvim ngrep other needed packages; do if brew list -1 | grep -q "^${pkg}\$"; then echo "Package '$pkg' is installed" else echo "Package '$pkg' is not installed" fi done