shell ProcessResult.标准输出内容不完整

uttx8gqw  于 2023-01-09  发布在  Shell
关注(0)|答案(1)|浏览(186)

我正在使用以下命令执行brew outdated命令:

Process.run('brew', 'outdated')

并通过以下方式读取输出:

procesResult.stdout.toString()

而不是预期的输出,如:

gnutls (3.7.8) < 3.7.8_1
graphviz (7.0.5) < 7.0.6
guile (3.0.8_3) < 3.0.8_4

我得到了字符串:

gnutls
graphviz
guile

如何获取软件包版本数据?
dart --版本报告:

Dart SDK version: 3.0.0-76.0.dev (dev) (Fri Dec 30 09:07:04 2022 -0800) on "macos_arm64
vmjh9lq9

vmjh9lq91#

您需要将-v选项与brew outdated一起使用。
比较:

$ brew outdated | cat   
autoconf
automake

对比:

$ brew outdated -v | cat
autoconf (2.69) < 2.71
automake (1.16.2) < 1.16.5

但是,如果您计划对输出进行任何解析,则可能需要考虑--json选项:

$ brew outdated --json
{
  "formulae": [
    {
      "name": "autoconf",
      "installed_versions": [
        "2.69"
      ],
      "current_version": "2.71",
      "pinned": false,
      "pinned_version": null
    },
    {
      "name": "automake",
      "installed_versions": [
        "1.16.2"
      ],
      "current_version": "1.16.5",
      "pinned": false,
      "pinned_version": null
    },
...

有关详细信息,请使用brew help outdated

相关问题