Bash 如何使用brew更新应用程序列表?
我想创建一个脚本来强制更新过时的brew应用程序 我试过类似的方法,但不起作用:Bash 如何使用brew更新应用程序列表?,bash,homebrew,Bash,Homebrew,我想创建一个脚本来强制更新过时的brew应用程序 我试过类似的方法,但不起作用: var=$(brew cask outdated); for f in $var; do "brew upgrade $var --force"; done 我是bash的初学者,我认为我正在搜索的内容很简单,但我需要帮助。2021更新 2020年期间,cask命令的子命令逐渐集成到自制的核心中,并被弃用。核心命令现在可以在公式和容器上运行。要将其范围仅限于公式或容器,请在命令行中添加--formula或--ca
var=$(brew cask outdated); for f in $var; do "brew upgrade $var --force"; done
我是bash的初学者,我认为我正在搜索的内容很简单,但我需要帮助。2021更新
2020年期间,cask
命令的子命令逐渐集成到自制的核心中,并被弃用。核心命令现在可以在公式和容器上运行。要将其范围仅限于公式或容器,请在命令行中添加--formula
或--cask
选项
cask
命令已从2020年12月发布的自制版本中完全删除
现在,配方奶粉和木桶都有统一的流程:
brew更新
酿制过期啤酒
brew升级
第一个命令(brew update
)从自制服务器获取有关可用公式和容器最新版本的信息
第二条命令(brew outleted
)列出了过期的已安装配方和桶。将--formulas
或--casks
添加到命令行,以将命令范围限制为公式或casks。将--greedy
添加到命令行,以便在其输出中包含标记为“自动可更新”的容器
第三个命令(brew upgrade
)升级brew过期
列出的软件包。它还支持上面列出的brew过期
选项,并相应地进行操作
由于历史原因,保留原始答案和2018年更新
2018年更新 同时,已执行
brew cask upgrade
命令,可代替原始答案中提供的脚本中的brew cask REPLAY
它也可以在没有参数的情况下工作,并升级brew cask OPERTED
显示的所有cask。它可以替换脚本中的for
块,该块现在变为:
# Upgrade Homebrew and the information about formulas
$ brew update
# List the outdated casks (optional)
$ brew cask outdated
# Upgrade all outdated casks
$ brew cask upgrade
附加信息
有时,brew桶过期
不会列出所有过期桶。这是。一些容器将自己标记为可自动更新,而其他容器则使用关键字latest
作为其版本。brew桶过期
未列出这两类桶。要列出它们,必须在brew cask OPERTED
的命令行中添加--greedy
选项:
$ brew cask outdated --greedy
此命令的输出中包含上述容器。那些拥有最新版本的
,因为它们的版本无法检查并且总是列出,那些标记为自动更新的,只有当它们确实过时时才会检查并列出
命令brew cask upgrade
也接受--greedy
选项(内部使用brew cask OPERTED
查找要升级的软件包列表)。使用它可以确保您的系统是最新的,而重新安装某些尚未过时的应用程序会增加额外的成本
原始答案(2017年7月) 您将
brew
命令与brew-cask
命令混合使用,但不能以这种方式工作
是的一个组件,允许管理图形应用程序。它一开始是原始自制的延伸;它现在是brew的集成命令。本身仅管理命令行应用程序
升级命令行程序
升级使用brew
(命令行程序)安装的所有过时程序很容易:
brew更新
和brew过期
步骤是可选的<代码>brew升级如果上次更新在过去发生的时间过长,则内部调用brew更新
<代码>brew过期仅列出过期安装的程序;如果您手动进行升级,并且不想升级所有内容,则此功能非常有用。在这种情况下,您可以选择要升级的程序,并为每个要更新的程序运行brew upgrade
。将
替换为brew过期的
显示的软件包名称
升级图形程序
目前升级所有过时的图形程序并不是那么简单。该过程与上述过程略有不同
第一步是运行brew update
。它更新自制代码和taps(a是自制程序管理的程序库)。自制桶提供了子命令brew桶更新
,但它只是brew更新
的别名。你可以使用它们中的任何一个<代码>brew更新是首选,因为它较短
第二步是运行brew cask过期
。此命令显示Cask管理的过时程序列表,以及已安装版本和新版本。选项--quiet
告诉它只显示包名,不显示版本。您需要在第三步实现自动化
以下段落从2018年开始被弃用,当时执行了命令brew cask upgrade
。上述“2018年更新”一节介绍了新流程。
遗憾的是,目前没有brew cask upgrade
命令(尚未实现)brew upgrade
也不知道如何处理brew cask
安装的程序
brew cask重新安装
可以用来代替缺少的brew cask升级
。与升级所有过时软件包的brew upgrade
不同,brew cask reinstall
只需要一个软件包的名称。这需要遍历brew cask OPERTED
返回的列表
升级使用自制桶安装的所有过时程序的简短shell脚本如下所示:
brew update
for i in $(brew cask outdated --quiet); do
brew cask reinstall $i
done
缺点
有些程序需要adm
brew update
for i in $(brew cask outdated --quiet); do
brew cask reinstall $i
done