Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何使用brew更新应用程序列表?_Bash_Homebrew - Fatal编程技术网

Bash 如何使用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

我想创建一个脚本来强制更新过时的brew应用程序

我试过类似的方法,但不起作用:

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