如何将 softwareupdate --list 的输出保存为 macOS 上 bash 中的变量?

问题描述 投票:0回答:1

我尝试过:

updates=( $(softwareupdate --list) )

它抓住了:

echo $updates
Software Update Tool

Finding available software

而不是完整输出:

Software Update Tool

Finding available software
No new software available.

没有胶水如何解决这个问题。

bash macos terminal
1个回答
0
投票

我无法检查,因为我没有 macOS,但我认为输入中缺少的行可能会转到 stderr,但运算符

$( ... )
仅捕获 stdout

我可以尝试将 stderr 重定向到 stdout:

updates=( $(softwareupdate --list 2>& 1) )

另外,我对您给出的示例感到惊讶:您将

updates
设置为数组,但将其显示为字符串。它应该只显示第一个单词

© www.soinside.com 2019 - 2024. All rights reserved.