检测是否安装了自制软件包
我即将编写一个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
也就是说,检查是否存在该工具可能是一个好主意,而不仅仅是检查相应的自制软件包(例如,通过在$PATH
search可执行文件)。 人们倾向于在实践中以相当大的方式安装工具,而自制软件就是其中之一。
关于什么?
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