代码之家  ›  专栏  ›  技术社区  ›  ivan_pozdeev RenanSS

实时打印输出并将其保存到变量中

  •  0
  • ivan_pozdeev RenanSS  · 技术社区  · 6 年前

    我知道我可以 save the output to a variable 然后 打印:

    VAR=$(command)
    echo "$VAR"
    

    • 我看不到指挥的进展。
      • 特别是,我们将看到所有 stdout stderr 输出,使其难以匹配。

    那么,如何保存输出并在控制台上实时查看它呢?

    • 一个解决方案不应该有不良的副作用 errexit
    1 回复  |  直到 6 年前
        1
  •  0
  •   ivan_pozdeev RenanSS    6 年前

    从我的头顶,一个人可以 tee 对设置为原始标准输出的附加文件描述符的输出:

    exec 3>&1
    VAR=$(command | tee /dev/fd/3)
    

    一个人需要有 set -o pipefail command 的错误 errexit 模式。

        2
  •  0
  •   Cupid Chan    3 年前

    这也会起作用

    VAR=$(command | tee /dev/tty)
    
    推荐文章